[Mac] Fix rubberband overhang appearing after a content size change.

This was caused by r152374, which changed the wheel phase end event to
not always call snapRubberBand(). Which resulted in some state persisting
even after the scroll, such as m_inScrollGesture being true, causing issues
later.

For example, it would cause ScrollView::updateScrollbars() to later believe
rubber banding was in progress and not reset the scroll position on a
content size change (leading to this bug).

This CL changes the code to always call snapRubberBand() on a phase end
event, like before r152374.

Additionally, it makes snapRubberBand() to not start a timer to revert the
state if there's no overhang or momentum scroll, which removes a race (i.e.
a resize before the timer fires) and makes the test more straight forward.

BUG=290590
TEST=See bug.

Review URL: https://chromiumcodereview.appspot.com/24284003

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