perfetto-ui: Generalise handling of data requests at limit

- Adds a limit to all track queries
- Fixes bug causing infinite loop when limit is hit
- Generalises handling of data requests for all tracks

Bug:131410531
Change-Id: Iad6e05a54a0f31ab6c05d648b7d861ece743e40d
diff --git a/ui/src/frontend/track_panel.ts b/ui/src/frontend/track_panel.ts
index 950fed9..1881ba6 100644
--- a/ui/src/frontend/track_panel.ts
+++ b/ui/src/frontend/track_panel.ts
@@ -19,12 +19,14 @@
 
 import {globals} from './globals';
 import {drawGridLines} from './gridline_helper';
-import {drawVerticalSelection,
-        drawVerticalLineAtTime} from './vertical_line_helper';
 import {Panel, PanelSize} from './panel';
 import {Track} from './track';
 import {TRACK_SHELL_WIDTH} from './track_constants';
 import {trackRegistry} from './track_registry';
+import {
+  drawVerticalLineAtTime,
+  drawVerticalSelection
+} from './vertical_line_helper';
 
 function isPinned(id: string) {
   return globals.state.pinnedTracks.indexOf(id) !== -1;