trace_processor: remove virtual track table and replace with async track table

While doing this, also heavily refactor VirutalTrackTracker to work with
the new TrackTable heirarchy, switch all callers to use the new code and
document the code much more.

Context: go/perfetto-tp-refactor
Bug: 135177627
Change-Id: If65e0f1d26f9cfd67b319af4110f9f0b9827f61e
diff --git a/Android.bp b/Android.bp
index aeb1b79..bc076ee 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4367,8 +4367,8 @@
     "src/trace_processor/trace_sorter.cc",
     "src/trace_processor/trace_sorter_unittest.cc",
     "src/trace_processor/trace_storage.cc",
+    "src/trace_processor/track_tracker.cc",
     "src/trace_processor/virtual_destructors.cc",
-    "src/trace_processor/virtual_track_tracker.cc",
     "src/trace_processor/window_operator_table.cc",
     "src/traced/probes/android_log/android_log_data_source.cc",
     "src/traced/probes/android_log/android_log_data_source_unittest.cc",
@@ -4697,8 +4697,8 @@
     "src/trace_processor/trace_processor_shell.cc",
     "src/trace_processor/trace_sorter.cc",
     "src/trace_processor/trace_storage.cc",
+    "src/trace_processor/track_tracker.cc",
     "src/trace_processor/virtual_destructors.cc",
-    "src/trace_processor/virtual_track_tracker.cc",
     "src/trace_processor/window_operator_table.cc",
   ],
   shared_libs: [
@@ -4889,8 +4889,8 @@
     "src/trace_processor/trace_processor_impl.cc",
     "src/trace_processor/trace_sorter.cc",
     "src/trace_processor/trace_storage.cc",
+    "src/trace_processor/track_tracker.cc",
     "src/trace_processor/virtual_destructors.cc",
-    "src/trace_processor/virtual_track_tracker.cc",
     "src/trace_processor/window_operator_table.cc",
     "tools/trace_to_text/local_symbolizer.cc",
     "tools/trace_to_text/main.cc",