Clean up and bug fixes in the TouchExplorer.

1. The downTime of the first down event was zero but it should the event time.

2. Hover exit events were not injected while transitioning to delegating
   state and when tapping.

3. Differentiation between dragging and delagating state based on
   two moving pointer direction and distance is now based only on
   the direction. Hence, two pointers moving in the same direction
   are dragging, otherwise the event stream is delegated unmodified.
   The reason for that is the blind people cannot easily determine
   and control the distance between their fingers resulting in
   different behavior for gestures which the user thinks are the same
   which creates confusion. Also in some cases the delegation and
   draggig yield the same result, for example in list view, further
   adding to the confusion. This was also causing the status bar to
   be opened closed inreliably creating frustration.

4. Refactored the code such that now there is only one method that
   injects motion events and all request go through it. Some bugs
   were introduced by inconsistent implementation in the different
   injection methods.

5. Fixed a couple of event stream inconsistencies reported by the
   event consistency verifier.

bug:5224183
bug:5223787
bug:5214829

Change-Id: I16c9be3562ad093017af5b974a41ab525b73453f
1 file changed