Prevent <canvas> destructor from causing nested garbage collection

In the destruction of HTMLCanvasElement, we call
HTMLCanvasElement::existingDrawingContext(), whose behavior was changed
incorrectly in r162330 and was triggering the allocation of an ImageBuffer
during tear-down.  This is not only wasteful, but it can trigger a
garbage collection because the creation of an ImageBuffer will increase
the amount of externallay allocated memory that is declared to V8.
Triggering a GC during the finalization of a garbage collected object
is bad.

BUG=378289

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

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