Enforce context refrence guards in WebGL extensions.

It appears that in some cases if an extension object outlives the context it was
created with that context could be GCed out from under it mid-function. This new
pattern enforces a scoped ref count of the associated canvas any time the
context is used by an extension.

BUG=429478

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

git-svn-id: svn://svn.chromium.org/blink/trunk@185069 bbb929c8-8fbe-4397-9dbb-9b2b20218538