Make OffscreenCanvasRenderingContext2D renderable on a worker

This change makes 2D contexts renderable on workers. It only
implements the bare minimum interfaces required to draw rectangles
on a worker and bring the results to screen via ImageBitmap transfer.
The new Web APIs that are implemented are:
* OffscreenCanvasRendering2D.fillStyle
* OffscreenCanvasRendering2D.strokeStyle
* OffscreenCanvasRendering2D.fillRect
* OffscreenCanvasRendering2D.strokeRect
* OffscreenCanvasRendering2D.clearRect
* OffscreenCanvas.transferToImageBitmap

BUG=563856, 563832

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

Cr-Commit-Position: refs/heads/master@{#381085}
23 files changed