Offscreen canvas using FrameSinkManagerHost fully.

This CL contains a number of related changes to offscreen canvas code so
that it's using FrameSinkManagerHost for everything (except surface
sequences) instead of SurfaceManager.

1. Merge OffscreenCanvasCompositorFrameSinkManager and
   OffscreenCanvasProviderImpl.
2. Offscreen canvases for a renderer are scoped to the
   OffscreenCanvasProviderImpl for that renderer.
3. OffscreenCanvasSurfaceImpls are owned by the
   OffscreenCanvasPorviderImpl instead of being StrongBinding<>s. This
   gives them a better defined life and ensures they're cleaned up with
   the rest of the renderer state.
4. Add tests for offscreen canvas code that exerecises Mojo connections.
   This should greatly improve the test coverage and better simulate
   connections from renderer to browser

BUG=664547

Review-Url: https://codereview.chromium.org/2851243002
Cr-Commit-Position: refs/heads/master@{#470359}
10 files changed