Use GpuMemoryBuffers for OffscreenCanvas

This CL Makes use of GpuMemoryBuffers in cases where the canvas context
is not accelerated but the compositor is. This includes WebGL
contexts that are rendered using swiftshader.

GpuMemoryBuffers will also be used for GPU-accelerated canvases on
platforms that support gfx::BufferUsage::SCANOUT (i.e. MacOS and
Ozone).

Bug: 646022
Change-Id: If00a828b769e989a58919b7b3133c0eea3faecd5
Reviewed-on: https://chromium-review.googlesource.com/533699
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481355}
8 files changed