Compositor bindings for mojo html_viewer

This binds mojo's html_viewer to a compositor implementation that uses surfaces
to present. It reuses the bindings for the WebLayer* types in cc/blink and adds
a new implementation of blink::WebLayerTreeView that shares some things with
content/renderer/gpu/render_widget_compositor.cc but is distinct enough to be
its own class. Whenever the compositor resizes (and thus needs a new surface id)
it passes the surface id to the view manager client lib.

This also adds mojo bindings for a few new quad types that are used on the web.
We don't yet have support for video quad types, but we don't have the media
system hooked up to html_viewer yet either so these will not be generated.

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

Cr-Commit-Position: refs/heads/master@{#294546}


CrOS-Libchrome-Original-Commit: 2abb46fdc18d2110b443a9e570ea393e3b0a42c5
16 files changed
tree: 7bea9c261120edc96759ea90330b9f18a73a879e
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/