Remove blink::CompositorAnimationHost. (2/n)

We want to remove WebLayerTreeView and to do so we must remove the
CompositorAnimationHost() method from it. While doing so, instead of
adding a replacement method in WebWidgetClient, pass the AnimationHost
directly to the WebWidget::SetLayerTreeView(). This avoids an A->B->A
re-entrancy since SetLayerTreeView() would ask back for the
AnimationHost anyway.

While passing in a cc::AnimationHost to SetLayerTreeView(), drop the
blink wrapper type and use cc::AnimationHost directly everywhere. This
is mostly mechanical except:
- Make WebViewImpl always expect there to be an animation host, instead
of storing a null when IsThreadedAnimationEnabled() is off.
- Then have ChromeClientImpl check for the feature explicitly instead
of handling nullptrs.
- Rearrange some code in tests that was causing us to have a null
AnimationHost when we truly didn't expect to! This exposed some weird
ordering stuff but it is resolvable in the test harness.

R=haraken@chromium.org

Bug: 912193
Change-Id: Ide492ea5cf809f3be2bddf727db728d1d7e9f3d6
Reviewed-on: https://chromium-review.googlesource.com/c/1461503
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631899}
46 files changed