Removed common_includes.h reordered includes.

Since we are not using precompiled headers anymore, remove common_includes.h
so that fewer files are included in cpp files.

Reordered includes to be in the following order:
 1) Local ANGLE project headers, ordered by directory in descending depth
 2) GL headers
 3) STL headers
This helps enforce the include-what-you-use principal by reducing the
number of STL headers unexpectedly shared between files.

This include order conflicts with some of the Google c++ style guide
which states that STL includes should be first but this helps us catch
more issues.

Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc
Reviewed-on: https://chromium-review.googlesource.com/214850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index 5a200e8..946e2c7 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -10,11 +10,6 @@
 #ifndef LIBGLESV2_PROGRAM_BINARY_H_
 #define LIBGLESV2_PROGRAM_BINARY_H_
 
-#include "angle_gl.h"
-
-#include <string>
-#include <vector>
-
 #include "common/RefCountObject.h"
 #include "angletypes.h"
 #include "common/mathutil.h"
@@ -24,11 +19,23 @@
 #include "libGLESv2/renderer/d3d/VertexDataManager.h"
 #include "libGLESv2/renderer/d3d/DynamicHLSL.h"
 
+#include "angle_gl.h"
+
+#include <string>
+#include <vector>
+
 namespace sh
 {
 class HLSLBlockEncoder;
 }
 
+#include <GLES3/gl3.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include <string>
+#include <vector>
+
 namespace rx
 {
 class ShaderExecutable;