ui: Refactor per-thread track creation
ui: Refactor per-thread track creation

Remove a large amount track creation logic from the awful
process/thread loop. Instead we now hand many methods
which create tracks based on the track tables in the trace
processor and we only use the loop to create & sort track groups.
Behaviour wise this should be a no-op.

Long term we should:
- Remove the loop completely and group/sort tracks after the fact
- Move from a 'push' based model (for each track kind the UI knows
  about we have method to query the TP) to a 'pull' based model
  (we iterate over the tracks in trace processor and create the most
  appropriate kind of track from those we have available).

Change-Id: I66c9912149a521ad4b1b369a13c72b7916a5b533
google/perfetto,google/perfetto,google/perfetto,google/perfetto,google/perfetto,google/perfetto,google/perfetto,google/perfetto