ftrace_reader: Add dynamic parser (part 1)

To dynamically parse ftrace events into protos we need to merge some
build time information (proto field ids, proto field types) with
some runtime information (ftrace field types). This CL:
- Refactors ProtoTranslationTable to accept partially filled in Event
  structs rather than generating them from scratch.
- Adds event_info.cc, which holds the (eventually auto generated)
  build time info.
- Also happens to fix the issue with available_events (since we
  only need to look for the events we have static information
  for).

Bug: 69662589,70328826
Change-Id: I1db48a71b0972f3b9ebc76011ca28a2a764d9ce6
diff --git a/Android.bp b/Android.bp
index 852e834..9ce2e99 100644
--- a/Android.bp
+++ b/Android.bp
@@ -290,6 +290,7 @@
 filegroup {
   name: "perfetto_ftrace_reader",
   srcs: [
+    "src/ftrace_reader/event_info.cc",
     "src/ftrace_reader/cpu_reader.cc",
     "src/ftrace_reader/format_parser.cc",
     "src/ftrace_reader/ftrace_controller.cc",
@@ -505,6 +506,7 @@
     "src/base/utils_unittest.cc",
     "src/base/weak_ptr_unittest.cc",
     "src/ftrace_reader/cpu_reader_unittest.cc",
+    "src/ftrace_reader/event_info_unittest.cc",
     "src/ftrace_reader/format_parser_unittest.cc",
     "src/ftrace_reader/ftrace_controller_unittest.cc",
     "src/ftrace_reader/ftrace_to_proto_unittest.cc",