Adding phase info to wheel events migrated to wheel phase handler class.

This cl contains a new class which is responsible for adding timer based
phase info to WebMouseWheelEvents before they are dispatched. The
following two cls do this for aura and mac.
https://codereview.chromium.org/2882443002/
https://codereview.chromium.org/2902303002/

This cl moves those code to a single class to support android as well.
To test it for mac and aura previously added tests are still valid.
No unittest is available for render_widget_host_view_android.cc
BUG=526463
TESTS=RenderWidgetHostViewAuraWheelScrollLatchingEnabledTest.
    TimerBasedWheelEventPhaseInfo/TouchpadFlingStartStopsWheelPhaseTimer/
    GSBWithTouchSourceStopsWheelScrollSequence,
    RenderWidgetHostViewMacWithWheelScrollLatchingEnabledTest.
	 WheelWithPhaseEndedIsNotForwardedImmediately/
	WheelWithMomentumPhaseBeganStopsTheWheelEndDispatchTimer/
	WheelWithPhaseBeganDispatchesThePendingWheelEnd

Review-Url: https://codereview.chromium.org/2914393002
Cr-Commit-Position: refs/heads/master@{#477669}
12 files changed