Send GFS/GFC to FlingController before TouchActionFilter

In our current implementation, we ask touch action filter to process
a gesture event first and then check whether the event should be queued
or not. For FlingStart and FlingCancel we never queue them even if the
touch action filter says that they are allowed. As a result, FlingStart
gesture will always sent to touch action filter and that's causing
some bugs.

This CL fixes it by re-ordering how we process a gesture event. We apply
three different filters in the following order:
1-The fling controller decides to either filter the event or forward it.
The filtering happens either when the controller processes the GSF/GFC
events or when it suppresses GSB/GSU events during fling boosting.

2- If the event is not filtered by the fling controller, the touch action
filter checks to filter the touchscreen gesture scroll events, with this
change this filter doesn't receive GFS events anymore since they are
already filtered by the fling controller.

3- If a gesture event is not filtered by any of the two filters above,
the gesture_event_queue chooses to either add the event to the event
queue to be sent to the renderer or filter the event and add it to
debouncing_deferral_queue_.

Bug: 838616
Change-Id: I0e363d2fff12fdf5f91c51d42c3752355bb7cccd
Reviewed-on: https://chromium-review.googlesource.com/1075554
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Sahel Sharifymoghaddam <sahel@chromium.org>
Commit-Queue: Xida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562831}
8 files changed