Perform layout when adding or removing custom scrollbars

Changing existence of scrollbars should trigger a layout if non-overlay
scrollbars are used. The function FrameView::scrollbarExistenceDidChange
was only checking if the native scrollbar theme used overlay scrollbars,
without checking if the FrameView in question would actually use the
native scrollbar theme.

A consequence of this was that there would be no layout when removing
scrollbars, resulting in a contents area that was smaller than the
visible area. This the overhang linen texture to be visible at the
borders where the scrollbar should be.

Additionally, the rubberbanding math computes the stretch of the
rubberband as the overhang area, which gets messed up when the contents
area is smaller than the visible area, resulting in bizarre shuddering
behavior.

BUG=269692

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

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