metrics: Refactor RAIL Mode power queries

Adds a templated _by_category metric for each of the existing ones and
convert the corresponding rail mode query to use it.

Also fixes modified_rail_slices query to add an id column so that it's
consumable by the by_category metrics.

Bug: 173002394
Change-Id: Iec70f40bf05b64a82d9d388e15e087e878fafff0
diff --git a/Android.bp b/Android.bp
index 68c4084..291ce78 100644
--- a/Android.bp
+++ b/Android.bp
@@ -7146,10 +7146,13 @@
     "src/trace_processor/metrics/android/process_unagg_mem_view.sql",
     "src/trace_processor/metrics/android/span_view_stats.sql",
     "src/trace_processor/metrics/android/unsymbolized_frames.sql",
+    "src/trace_processor/metrics/chrome/actual_power_by_category.sql",
     "src/trace_processor/metrics/chrome/actual_power_by_rail_mode.sql",
     "src/trace_processor/metrics/chrome/chrome_processes.sql",
     "src/trace_processor/metrics/chrome/chrome_thread_slice_with_cpu_time.sql",
+    "src/trace_processor/metrics/chrome/cpu_time_by_category.sql",
     "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/rail_modes.sql",
     "src/trace_processor/metrics/chrome/scroll_flow_event.sql",