Early terminate flings when scrolling impossible

Previously, flings would continue animating until they were either interrupted,
or had reached the end of their respective curve.  Instead, allow the fling to
terminate early if they hit their limit, given the result of
|WebGestureCurveTarget::scrollBy|. This saves power on sites where fling scrolls
have little affordance.

Also simplify WebGestureCurveTarget by consolidating scroll delta and velocity
into a single method.

Corresponding Chromium patch:
https://codereview.chromium.org/136173004/

Final Blink cleanup patch:
https://codereview.chromium.org/217893004

Review URL: https://codereview.chromium.org/139493003

git-svn-id: svn://svn.chromium.org/blink/trunk@170406 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move dispatchBeforeUnloadEvent to WebFrame, part 1/3.

BUG=357782
TEST=no change

Review URL: https://codereview.chromium.org/217543005

git-svn-id: svn://svn.chromium.org/blink/trunk@170407 bbb929c8-8fbe-4397-9dbb-9b2b20218538