Add process grouping for chrome traces

Currently the summary view is extremely slow (especially on the example
chrome trace), so it is disabled if there are more than 10 processes.
To try it out, you can use a smaller trace (you can find one at
https://goo.gl/KuFdtb).

Preview: https://deepanjan.me/previews/aosp/790720/#!/

Change-Id: I5e1c7c2874aaa52126985cfa6cdab777b1c70563
diff --git a/ui/src/frontend/track.ts b/ui/src/frontend/track.ts
index c543ad8..bd21f39 100644
--- a/ui/src/frontend/track.ts
+++ b/ui/src/frontend/track.ts
@@ -34,9 +34,6 @@
  * The abstract class that needs to be implemented by all tracks.
  */
 export abstract class Track<Config = {}, Data = {}> {
-  /**
-   * Receive data published by the TrackController of this track.
-   */
   constructor(protected trackState: TrackState) {}
   abstract renderCanvas(ctx: CanvasRenderingContext2D): void;
 
@@ -44,7 +41,7 @@
     return this.trackState.config as Config;
   }
 
-  data(): Data {
+  data(): Data|undefined {
     return globals.trackDataStore.get(this.trackState.id) as Data;
   }