VRR: Change both frame rate and category

Bug: 299946220

When Views vote for both a category and a
refresh rate, then both should be sent to
SurfaceFlinger.

Now a single View can vote for refresh rate
and category if velocity and category are
both set.

This CL also reduces the overhead of voting
by recalculating the category only one time
rather than for every drawn View. It also
stops Views from calculating frame rate
and category if the maximum has already been
set.

Test: existing and new tests. manual testing
Change-Id: Ia215d3fb0e1239f1ed88f06732d1aec13527757a
4 files changed