Introduce ViewRootRefreshRateController

This controller used to handle request based on the
refresh rate preference for the current view root.

First apply lower display support refresh rate when
typing to improve the battery life and restore to
previous preferred rate after finish typing.

The controller only limit the max preferred refresh
rate so ideally it shouldn't introduce extra power
consumption.

Bug: 281720315
Test: atest FrameworksCoreTests:ViewRootRefreshRateControllerTest
Test: atest CtsInputMethodTestCases
Merged-In: I2fb9c549da19ff01e7cc3fd8bfc1f9c19aa0f0a8
Change-Id: Id40a97e737ee9eda0a9bcd019ce24631e9a339a8
9 files changed