Refactoring Shader objects (Take 2)

This change refactors shaders to no longer be dependent on D3D-only concepts.

BUG=angle:731
Change-Id: I1006112f1d31b7e41bd14bd3225ea157b7d6c6c9
Reviewed-on: https://chromium-review.googlesource.com/214467
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index aeeddcc..5dd0855 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -3584,7 +3584,12 @@
 {
     EVENT("()");
 
-    gl::Shader::releaseCompiler();
+    gl::Context *context = gl::getNonLostContext();
+
+    if (context)
+    {
+        context->releaseShaderCompiler();
+    }
 }
 
 void __stdcall glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)