TraceProcesor: unique_ptr<uint8_t> -> TraceBlob

A non-functional refactoring to TraceProcessor.
This CL mainly replaces all the places where we pass around
a pair of (unique_ptr<uint8_t>, size_t) with an explicit
TraceBlob.
It also simplifies a bit the TraceBlobView code, reducing
the indirection layers required to handle refcounting
(the overall refcounting principle still holds though).
The main benefit of that is removing one layer of pointer
chasing when accessing TraceBlobView.data().
The main reason of this CL is to introduce support for mmaping
the trace file on desktop (but still retain the owned-buf
semantic for wasm and platforms where mmap is not supported).

Bug: 205302474
Change-Id: I4f943bfcf0032cda910277b6d47851c73cb16316
diff --git a/Android.bp b/Android.bp
index f5484c8..780930a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1765,7 +1765,6 @@
         ":perfetto_src_trace_processor_util_interned_message_view",
         ":perfetto_src_trace_processor_util_proto_to_args_parser",
         ":perfetto_src_trace_processor_util_protozero_to_text",
-        ":perfetto_src_trace_processor_util_trace_blob_view",
         ":perfetto_src_trace_processor_util_util",
         ":perfetto_src_traced_probes_android_log_android_log",
         ":perfetto_src_traced_probes_common_common",
@@ -8232,6 +8231,7 @@
         "src/trace_processor/importers/proto/track_event_parser.cc",
         "src/trace_processor/importers/proto/track_event_tokenizer.cc",
         "src/trace_processor/importers/proto/track_event_tracker.cc",
+        "src/trace_processor/trace_blob.cc",
         "src/trace_processor/trace_processor_context.cc",
         "src/trace_processor/trace_processor_storage.cc",
         "src/trace_processor/trace_processor_storage_impl.cc",
@@ -8346,11 +8346,6 @@
     ],
 }
 
-// GN: //src/trace_processor/util:trace_blob_view
-filegroup {
-    name: "perfetto_src_trace_processor_util_trace_blob_view",
-}
-
 // GN: //src/trace_processor/util:unittests
 filegroup {
     name: "perfetto_src_trace_processor_util_unittests",
@@ -9366,7 +9361,6 @@
         ":perfetto_src_trace_processor_util_interned_message_view",
         ":perfetto_src_trace_processor_util_proto_to_args_parser",
         ":perfetto_src_trace_processor_util_protozero_to_text",
-        ":perfetto_src_trace_processor_util_trace_blob_view",
         ":perfetto_src_trace_processor_util_unittests",
         ":perfetto_src_trace_processor_util_util",
         ":perfetto_src_traced_probes_android_log_android_log",
@@ -9662,7 +9656,6 @@
         ":perfetto_src_trace_processor_util_interned_message_view",
         ":perfetto_src_trace_processor_util_proto_to_args_parser",
         ":perfetto_src_trace_processor_util_protozero_to_text",
-        ":perfetto_src_trace_processor_util_trace_blob_view",
         ":perfetto_src_trace_processor_util_util",
         "src/trace_processor/trace_processor_shell.cc",
         "src/trace_processor/util/proto_to_json.cc",
@@ -9815,7 +9808,6 @@
         ":perfetto_src_trace_processor_util_interned_message_view",
         ":perfetto_src_trace_processor_util_proto_to_args_parser",
         ":perfetto_src_trace_processor_util_protozero_to_text",
-        ":perfetto_src_trace_processor_util_trace_blob_view",
         ":perfetto_src_trace_processor_util_util",
         ":perfetto_tools_trace_to_text_common",
         ":perfetto_tools_trace_to_text_full",