Android mouse events shouldn't appear as TouchEvents

Android low-level mouse events in Chrome used to follow the
"default" MotionEvent path which is designed for touches. In
particular in Blink, mouse events appeared as PlatformTouchEvents
which had some bad side-effects:

A. TouchEvents were fired for mouse.

B. Mouse events were suppressed through prevent-defaulting touch
  events.

C. Mouse event suppression thru canceled touches apply only to
  non-hovering mouse.

This CL fixes the mouse issues by routing Android mouse events
through a dedicated Web/PlatformMouseEvent path. The stylus
properties are also plumbed, to make Android stylus support
easier (follow-up CL).

Design doc: https://docs.google.com/document/d/1mpBR7J7kgTXvp0QACVjhxtwNJ7bgGoTMmxfxN2dupGg/edit?usp=sharing

BUG=468806,587550

Review-Url: https://codereview.chromium.org/2054193002
Cr-Commit-Position: refs/heads/master@{#431571}
19 files changed