Use GLES2Interface for shaders and programs

This uses the gpu::gles2::GLES2Interface type in the gl renderer's shader
and program code instead of WebGraphicsContext3D. For production code, the
GLES2Interface is a direct interface to the real command buffer in use. For
cc_unittests, the GLES2Interface is a stub that wraps TestWebGraphicsContext3D
so we can continue to use the same stubs/mocks for now. Once we port all of
the production code over to using GLES2Interface we should port the test context
classes over to the new base interface.

BUG=181120

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239405 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 239405