Refactored TransformFeedback for multi-platform ANGLE and added tests.

Added angle_implementation_unit_tests target designed for testing the
cross-platform code in libGLESv2, and libGLESv2_static target as a
dependency. The goal is to incorporate these tests into Chromium's
angle_unittests target on all platforms; however, more work is needed
to make libGLESv2's common code compile on non-Windows platforms, so
this is an intermediate step.

BUG=angle:719

Change-Id: Ifc44a779352294e857d6e913d9b997a60674c443
Reviewed-on: https://chromium-review.googlesource.com/214105
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Kenneth Russell <kbr@chromium.org>
diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libGLESv2/renderer/Renderer.h
index 760663e..e4c0476 100644
--- a/src/libGLESv2/renderer/Renderer.h
+++ b/src/libGLESv2/renderer/Renderer.h
@@ -60,6 +60,7 @@
 class TextureStorage;
 class UniformStorage;
 class TextureImpl;
+class TransformFeedbackImpl;
 
 struct ConfigDesc
 {
@@ -229,6 +230,9 @@
     virtual QueryImpl *createQuery(GLenum type) = 0;
     virtual FenceImpl *createFence() = 0;
 
+    // Transform Feedback creation
+    virtual TransformFeedbackImpl* createTransformFeedback() = 0;
+
     // Current GLES client version
     void setCurrentClientVersion(int clientVersion) { mCurrentClientVersion = clientVersion; }
     int getCurrentClientVersion() const { return mCurrentClientVersion; }