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/Android.bp b/Android.bp
index c0efaeb..eda07a8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -3660,6 +3660,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",
@@ -7780,6 +7781,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",