This allows to save some power while the device is unfolded but with screen off.
+ Avoiding registering more listeners if HingeSensorAngleProvider.start() is called multiple times sequentially without a `stop` in the middle. It seems that otherwise we would get duplicated callbacks.
+ Adding onScreenTurningOn and onScreenTurningOff callbacks to forward to Launcher (as only sysui is receiving them)
Bug: 240661156
Bug: 240374404
Test: DeviceFoldStateProviderTest
Change-Id: I40b77033690c2e708275ce49bbe156c781105a00