Make trace_processor a host-only target

The trace_processor_shell target is currently very confusing:
it pretends to be a host + device target, but in reality it uses
libprotobuf-full and libprotoc (for dynamic metrics .proto loading)
which is forbidden on-device.
This CL clearly makes trace_processor a host-only target. It also
cleans up some GN files, removing the testonly attribute (and
related hacks in gen_android_bp) and restricting protobuf-full to
host tools only via visibility rules.
It also makes the dependency on libprotoc explicit. It will be
needed by Bazel builds.

Bug: 140126865
Change-Id: Ic8a7827ae83d0ef6c4a607566c732a8798379762
diff --git a/Android.bp b/Android.bp
index a92e98e..73cbcec 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4537,7 +4537,7 @@
 }
 
 // GN target: //src/trace_processor:trace_processor_shell
-cc_binary {
+cc_binary_host {
   name: "trace_processor_shell",
   srcs: [
     ":perfetto_protos_perfetto_common_zero_gen",
@@ -4660,10 +4660,12 @@
   ],
   shared_libs: [
     "liblog",
-    "libprotobuf-cpp-full",
+    "libprotoc",
     "libz",
   ],
-  host_supported: true,
+  static_libs: [
+    "libsqlite",
+  ],
   generated_headers: [
     "gen_merged_sql_metrics",
     "perfetto_protos_perfetto_common_zero_gen_headers",
@@ -4702,21 +4704,6 @@
     "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
     "-DHAVE_HIDDEN",
   ],
-  target: {
-    android: {
-      shared_libs: [
-        "libandroidicu",
-        "liblog",
-        "libsqlite",
-        "libutils",
-      ],
-    },
-    host: {
-      static_libs: [
-        "libsqlite",
-      ],
-    },
-  },
 }
 
 // GN target: //tools/trace_to_text:trace_to_text