processor: Add foundations for modularization of proto trace parsing

Adds structual elements to support compile-time registration of
(optional) proto trace tokenizer/parser modules.

The trace processor will instantiate enabled modules for each
TraceProcessorContext via a wrapper template, which facilitates
disabling the module at compile time (avoiding the module's
construction and dropping any calls to it).

This also avoids virtual methods, so that calling any of the module's
methods is zero overhead - they can be inlined by the compiler at
callsites directly.

Bug: 141459049
Change-Id: Iae21c147144618dd48f8a3ab743aead257b4c0b5
diff --git a/BUILD b/BUILD
index 74e1390..41f87b0 100644
--- a/BUILD
+++ b/BUILD
@@ -664,6 +664,9 @@
         "src/trace_processor/heap_profile_allocation_table.h",
         "src/trace_processor/heap_profile_tracker.cc",
         "src/trace_processor/heap_profile_tracker.h",
+        "src/trace_processor/importers/proto/ftrace_module.h",
+        "src/trace_processor/importers/proto/proto_importer_module.h",
+        "src/trace_processor/importers/proto/track_event_module.h",
         "src/trace_processor/instants_table.cc",
         "src/trace_processor/instants_table.h",
         "src/trace_processor/json_trace_parser.cc",