metrics: Add touch_jank.sql

To share code between touch_jank.sql and scroll_jank.sql, this converts
scroll_jank.sql into a templated metric stored in gesture_jank.sql.
scroll_jank.sql and touch_jank.sql then just differ in their template
parameters.

Like scroll_jank.sql, touch_jank.sql only covers update/move events that
reach the GPU. In future we will also track TouchMove events that don't,
but will keep them separate so the events in each metric are actually
comparable.

Bug: 182160743
Change-Id: I916955280a729152eb05a35c8592e0080fceecf6
diff --git a/BUILD b/BUILD
index 7a9483c..97a23a4 100644
--- a/BUILD
+++ b/BUILD
@@ -1071,6 +1071,7 @@
         "src/trace_processor/metrics/chrome/cpu_time_by_rail_mode.sql",
         "src/trace_processor/metrics/chrome/estimated_power_by_category.sql",
         "src/trace_processor/metrics/chrome/estimated_power_by_rail_mode.sql",
+        "src/trace_processor/metrics/chrome/gesture_jank.sql",
         "src/trace_processor/metrics/chrome/rail_modes.sql",
         "src/trace_processor/metrics/chrome/scroll_flow_event.sql",
         "src/trace_processor/metrics/chrome/scroll_flow_event_queuing_delay.sql",
@@ -1081,6 +1082,7 @@
         "src/trace_processor/metrics/chrome/scroll_jank_cause_get_bitmap.sql",
         "src/trace_processor/metrics/chrome/scroll_jank_cause_queuing_delay.sql",
         "src/trace_processor/metrics/chrome/test_chrome_metric.sql",
+        "src/trace_processor/metrics/chrome/touch_jank.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",
@@ -2591,6 +2593,7 @@
         "protos/perfetto/metrics/chrome/reported_by_page.proto",
         "protos/perfetto/metrics/chrome/scroll_jank.proto",
         "protos/perfetto/metrics/chrome/test_chrome_metric.proto",
+        "protos/perfetto/metrics/chrome/touch_jank.proto",
     ],
     visibility = [
         PERFETTO_CONFIG.proto_library_visibility,