Split android_task_runner in its own target

This CL isolates the base/android_task_runner.cc translation
unit into its own target. ATR requires a dependency on libandroid.so
(which in turn pulls in some other dozen .so(s) in the process image).
Also, due to a weird behavior of the non-gold linker, such dependency
needs to be propagate up to all the linker units (executable and
shared_library targets) explicitly.
However, we don't need all targets to depend on libandroid.so, that
is an unnecessarily strong enforcement. We just need the unittests
and the traced binaries to depend on that.

Change-Id: I0060d46756e00a3d4f5723e1e1141d6d2f0c1e34
diff --git a/BUILD.gn b/BUILD.gn
index 9603024..25a0625 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -68,6 +68,7 @@
     ]
     if (build_with_android) {
       cflags = [ "-DPERFETTO_BUILD_WITH_ANDROID" ]
+      deps += [ "src/base:android_task_runner" ]
       libs = [ "utils" ]
     }
   }