Implement commit for unaccelerated canvas with GPU compositing

This CL implements OffscreenCanvas2d's commit API in the case where the
canvas is not GPU-accelerated, but the compositor is. In this case, we
extract a StaticBitmapImage from the imageBuffer, upload the CPU memory
that the StaticBitmapImage holds to GPU texture, and prepare a
CompositorFrame from the GPU texture.

A GPU pixel test is added to test this code path.

BUG=563852
TBR=kbr@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2376743002
Cr-Commit-Position: refs/heads/master@{#422927}
4 files changed