Adding accessibility events for touch and gesture detection states.

1. Currently the system fires accessibility events to announce the
   start and end of a touch exploration gesture. However, such a
   gesture starts after we have decided that the user is not
   performing a gesture which is achieved by measuring speed of
   movement during a threshold distance. This allows an accessibility
   service to provide some feedback to the user so he knows that
   he is touch exploring.

   This change adds event types for the first and last touches
   of the user. Note that the first touch does not conincide with
   the start of a touch exploration gesture since we need a time
   or distance to pass before we know whether the user explores
   or gestures. However, it is very useful for an accessibility
   service to know when the user starts to interact with the
   touch screen so it can turn the speech off, to name one
   compelling use case.

   This change also provides event types for the start and end
   of gesture detection. If the user has moved over the threshold
   with a speed greater than X, then the system detects gestures.
   It is useful for an accessibility service to know the begin
   and end of gesture detection so it can provide given feedback
   type for such a gesture, say it may produce haptic feedback
   or sound that differs for the one for touch exploration.

   The main benefit of announcing these new events is that an
   accessibility service can provide feedback for each touch
   state allowing the user to always know what he is doing.

bug:7166935

Change-Id: I26270d774cc059cb921d6a4254bc0aab0530c1dd
4 files changed