tbmv3: Add media metric (ported from v2)

Ported from [1].

The TBMv2 metric's dropped frame count metric is broken (always reports
0). This is fixed in this new version.

The TBMv2 metric's roughness metric reports integer values, which is
not consistent with the numbers in the trace events. The TBMv3 metric
thus reports double values for this metric.

The TBMv2 metric splits seek time histograms by seek position, via
naming the histograms dynamically. This isn't supported in TBMv3.
There also doesn't seem to be a good reason for splitting the seek
histograms in such a way, so the TBMv3 metric combines them instead.

[1] https://github.com/catapult-project/catapult/blob/master/tracing/tracing/metrics/media_metric.html

Bug: 182788221
Change-Id: Ie49f9c269732fca491ef040065968b2fa4bea9db
diff --git a/BUILD b/BUILD
index 7e25a9b..3aae333 100644
--- a/BUILD
+++ b/BUILD
@@ -965,6 +965,7 @@
         "src/trace_processor/metrics/chrome/test_chrome_metric.sql",
         "src/trace_processor/metrics/experimental/blink_gc_metric.sql",
         "src/trace_processor/metrics/experimental/frame_times.sql",
+        "src/trace_processor/metrics/experimental/media_metric.sql",
         "src/trace_processor/metrics/experimental/reported_by_page.sql",
         "src/trace_processor/metrics/trace_metadata.sql",
         "src/trace_processor/metrics/trace_stats.sql",
@@ -2405,6 +2406,7 @@
         "protos/perfetto/metrics/chrome/all_chrome_metrics.proto",
         "protos/perfetto/metrics/chrome/blink_gc_metric.proto",
         "protos/perfetto/metrics/chrome/frame_times.proto",
+        "protos/perfetto/metrics/chrome/media_metric.proto",
         "protos/perfetto/metrics/chrome/reported_by_page.proto",
         "protos/perfetto/metrics/chrome/scroll_jank.proto",
         "protos/perfetto/metrics/chrome/test_chrome_metric.proto",