TraceProcessor: add ninja log parsing

Adds a parser for ninja build logs. This is the
moral equivalent of https://github.com/nico/ninjatracing.
This works only as long as ninja doesn't hit recompaction.
The log seems to stop making sense after re-compaction because
it becomes impossible to reconstruct the boundaries of
each build invocation.
I eye-balled this vs ninjatracing on the same trace and
the results seem to make sense.

Bug: 149483774
Test: TraceProcessorIntegrationTest.NinjaLog
Change-Id: Ice9ac9d9fee6a94d78fb0fec997b3b3d36d3c02b
diff --git a/BUILD b/BUILD
index bce6463..f80d096 100644
--- a/BUILD
+++ b/BUILD
@@ -955,6 +955,8 @@
         "src/trace_processor/importers/json/json_trace_utils.h",
         "src/trace_processor/importers/json/json_tracker.cc",
         "src/trace_processor/importers/json/json_tracker.h",
+        "src/trace_processor/importers/ninja/ninja_log_parser.cc",
+        "src/trace_processor/importers/ninja/ninja_log_parser.h",
         "src/trace_processor/importers/proto/args_table_utils.cc",
         "src/trace_processor/importers/proto/args_table_utils.h",
         "src/trace_processor/importers/proto/chrome_compositor_scheduler_state.descriptor.h",