Allow canvases to be GPU-accelerated in Workers
This change sets up a per-thread shared GPU context that is managed by
a thread-specific singleton SharedGpuContext. This means that all 2D
contexts on a given worker will use the same context, which avoids
having to rely on mailboxes all the time. Also this CL makes deep changes
to AcceleratedStaticBitmapImage in order to support the use of
the current thread's shared context, and it handles transfers
between threads in order to support the transferrable behavior of
ImageBitmap objects.
BUG=
593514
Committed:
https://crrev.com/83ac5ff37da4ea1c6d052649ccea46dd4bd453d6
Cr-Commit-Position: refs/heads/master@{#416929}