Add SDK support for thermal headroom callback API

* Add cache for headroom forecast which resets on temperature or threshold update
* Remove the cache for thermal headroom thresholds in PowerManager
  as it can change now
* Only trigger headroom callback on skin type throttling event or
  threshold update event that causes significant difference in headrooms

Bug: 360486877
Flag: android.os.allow_thermal_thresholds_callback
Test: atest ThermalManagerServiceTest ThermalManagerServiceMockingTest PowerManagerTest
Change-Id: Id5e311634f3b94fe041e51732496d182b2a78139
9 files changed