[iOS] Show toolbar when a new foreground tab is opened.

This CL creates NewForegroundTabFullscreenDisabler, which creates an
AnimatedScopedFullscreenDisabler when a new foreground tab is added to
the WebStateList.

To support this, this CL also updates AnimatedScopedFullscreenDisabler
to have an observer API that can be notified when the animation
finishes.

Additionally. this CL updates BVC to be updated for fullscreen events
even when not broadcasting UI.

TBR=kkhorimoto@chromium.org

(cherry picked from commit 65c25f9ad8a5b11f86d4f44753eba9e726515362)

Bug: 809120
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I4d4d4adc0de009f759b5136b32d267c7c68cac3d
Reviewed-on: https://chromium-review.googlesource.com/920792
Commit-Queue: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#538372}
Reviewed-on: https://chromium-review.googlesource.com/942222
Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#630}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
8 files changed