[ui] Tidy up track API, specifically for dynamic tracks.

- Switch from `initialState` to `params` as a replacement for `config`.
- Move param-to-config conversion into [counter|slice] debug tracks.
- Add new api registerStaticTrack() which registers and adds a track as a default track in one go.
- Tweak track API naming slightly.

Change-Id: Iec8695437d2e8a3cde2a41187bd648472bcca1b0
diff --git a/ui/src/common/basic_async_track.ts b/ui/src/common/basic_async_track.ts
index 2f62dc6..f22c333 100644
--- a/ui/src/common/basic_async_track.ts
+++ b/ui/src/common/basic_async_track.ts
@@ -19,7 +19,7 @@
 import {globals} from '../frontend/globals';
 import {PxSpan, TimeScale} from '../frontend/time_scale';
 import {SliceRect} from '../frontend/track';
-import {Track} from '../public';
+import {Track, TrackContext} from '../public';
 
 import {TrackData} from './track_data';
 
@@ -45,7 +45,7 @@
   private currentState?: TrackData;
   protected data?: Data;
 
-  onCreate(): void {}
+  onCreate(_ctx: TrackContext): void {}
 
   onDestroy(): void {
     this.queuedRequest = false;