[gfx] Point nativeImageData at the Context2D rather than the Canvas.

This would fix #63. It's a little strange that `nativeImageData` hold types of either Image and/or the canvas/context, but I left that behavior as-is for now, assuming it's there to avoid unnecessary conversion between Image and a canvas, since we can render both directly to a context.
Nit: I'd directly use "texture.canvas" instead of repurposing the "texture" variable like in the rest of the patch.