[iOS] Improve FullscreenModel scroll handling.

This CL improves fullscreen handling for several edge
conditions.  The behavior described in the referenced bug
is due to FullscreenModel attempting to handle UIScrollView
adjustments that occur when bouncing past the top edge of
content.  Similarly broken behavior also occurred when
attempting to scroll pages smaller or similarly sized with
the scroll view.

After this change, FullscreenModel ignores scrolls that
have to do with UIScrollView adjusting its contentOffset
for bouncing or resizing behavior.

Implementing this logic also required exposing the
scroll view frame, contentInset, contentSize, and zooming
properties.

TBR=kkhorimoto@chromium.org

(cherry picked from commit 963abca215a516aab5fbe81e17fb96466d327222)

Bug: 800757, 807957, 809853, 809856
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I8980983e048ce73d3443160cb4dd2e29a1aed15a
Reviewed-on: https://chromium-review.googlesource.com/896304
Commit-Queue: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Sergio Collazos <sczs@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#535435}
Reviewed-on: https://chromium-review.googlesource.com/932548
Cr-Commit-Position: refs/branch-heads/3325@{#555}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
17 files changed