Improve the performance of drawImage from WebGL to 2D canvas by adding a TextureBacked RenderingMode for ImageBuffer.

Instead of drawing a normal SkBitmap which was readback from WebGL, it would be much faster to draw a texture based SkBitmap to HW accelerated 2D canvas. This patch adds backing texture to ImageBuffer for WebGL to hold the rendering results and passes the texture based SkBitmap for drawing. 

For third_party/WebKit/PerformanceTests/Canvas/draw-dynamic-webgl-to-hw-accelerated-canvas-2d.html, this CL can have about 10x ~ 20x performance speedup for Windows, Mac, Linux and Android.

It is verified using Blink Layout tests, WebGL conformance test and some performance tests under third_party/WebKit/Performance/Canvas.

BUG=233205

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161874 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: Overloaded method arguments: [StrictTypeChecking] DOMString

Adds support for [StrictTypeChecking] DOMString arguments on overloaded
methods.
Also refactors the existing [StrictTypeChecking] code to clearly
distinguish [StrictTypeChecking] on method vs. on argument.
(Previously conflated b/c only used in one context.)

Also removes nesting of the individual argument check,
which makes the flow more linear
(each level of nesting in the expression gets a separate function).

BUG=239771
NOTRY=true

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

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