Android: Add helper class for generating OpenGL shaders

This CL adds a helper class GlShaderBuilder to build an instances of
RendererCommon.GlDrawer that can accept multiple input sources
(OES, RGB, or YUV) using a generic fragment shader as input.

Bug: webrtc:9355
Change-Id: I14a0a280d2b6f838984f7b60897cc0c58e2a948a
Reviewed-on: https://webrtc-review.googlesource.com/80940
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23622}
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 1ec1d68..6d23594 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -757,6 +757,8 @@
     "api/org/webrtc/SurfaceTextureHelper.java",
     "api/org/webrtc/TextureBufferImpl.java",
     "api/org/webrtc/YuvConverter.java",
+    "api/org/webrtc/VideoFrameDrawer.java",
+    "src/java/org/webrtc/GlGenericDrawer.java",
     "api/org/webrtc/YuvHelper.java",
     "src/java/org/webrtc/EglBase10.java",
     "src/java/org/webrtc/EglBase14.java",
@@ -823,7 +825,6 @@
     "api/org/webrtc/GlRectDrawer.java",
     "api/org/webrtc/VideoDecoderFallback.java",
     "api/org/webrtc/VideoEncoderFallback.java",
-    "api/org/webrtc/VideoFrameDrawer.java",
     "src/java/org/webrtc/NativeCapturerObserver.java",
     "src/java/org/webrtc/NV21Buffer.java",
     "src/java/org/webrtc/VideoDecoderWrapper.java",