Prevent recursive calls to proximity sensor.

This CL contains two main changes:

1) If a caller asks an instance of ProximitySensor to alert its
listeners recursively, the call will be ignored.

2) The DozeSensors and DozeTriggers both use the same instance of
a ProximitySensor so that they can share each other's prox calls.

Also, a DelayableExecutor is now passed into ProximityCheck where
once we used a Handler in order to make testing easier.

Fixes: 152821688
Test: atest SystemUITests
Change-Id: I8be62222c4e2b586218696b1d8b6ac158ebeffb5
Merged-In: I8be62222c4e2b586218696b1d8b6ac158ebeffb5
9 files changed