GN: Fix Android component build

This change makes all libraries in the Android component build link
successfully (including fixing and enabling libchrome_shell). This also makes
all the libraries link in a component build for Linux, but without bot coverage
for that platform it'll surely regress.

This is almost entirely just fixing some missing/incorrect dependencies and
adding missing source files for Android.

Some targets were depending on an internal source_set/static_library when they
should have been (or already were) depending on the corresponding component. In
these cases, I added some visibility restrictions to those internal targets to
try to prevent those types of dependencies from coming back.

BUG=359249

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

Cr-Commit-Position: refs/heads/master@{#301386}
diff --git a/gpu/BUILD.gn b/gpu/BUILD.gn
index 8239940..bf13b05 100644
--- a/gpu/BUILD.gn
+++ b/gpu/BUILD.gn
@@ -117,12 +117,15 @@
     "//gpu/command_buffer/client:gles2_implementation_client_side_arrays",
   ]
 
+  libs = []
+
+  if (is_android) {
+    deps += [
+      "//testing/android:native_test_native_code",
+    ]
+    libs += [ "android" ]
+  }
   # TODO(GYP)
-  #     ['OS == "android"', {
-  #       'dependencies': [
-  #         '../testing/android/native_test.gyp:native_test_native_code',
-  #       ],
-  #     }],
   #     ['OS == "win"', {
   #       'dependencies': [
   #         '../third_party/angle/src/build_angle.gyp:libEGL',