View-Binder architecture on haptic sliders.

The SliderTracker and SeekableSliderHapticPlugin are refactored to
depend on a CoroutineScope. The HapticSliderViewBinder is introduced to
provide this as the lifecycle scope of a binded view. The appropriate UI
widgets are used for the binding depending on the use case: Brightness
slider for brighness slider haptics, and individual volume sliders for
volume slider haptics.

Test: atest SystemUiRoboTests:SeekableSliderHapticPluginTest
Test: atest SystemUITests:VolumeDialogImplTest
Test: atest SystemUITests:BrightnessSliderControllerTest
Flag: ACONFIG com.android.systemui.haptic_brightness_slider TRUNKFOOD
Flag: ACONFIG com.android.systemui.haptic_volume_slider STAGING
Bug: 295932558
Bug: 316953430

Change-Id: I15d4b67dabfba39d9fd3240d3505c33f386443b5
13 files changed