Implement HTMLCanvasElement's transferControlToOffscreen

To summarize, this function throws an exception when the canvas has an
associated context. A new OffscreenCanvas is created and it has a pointer
pointing to the originated canvas element.

A layout test is also added to make sure that there is no exception when
the original canvas doesn't have a context, and throws an exception when
the canvas does have a context.

BUG=598753

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

Cr-Commit-Position: refs/heads/master@{#384627}
11 files changed