Add trace_to_text

To estimate overhead of perfetto we would like to use... perfetto!
To allow for this reintroduce the 'trace_to_text' binary from the demo
which takes in a Trace and outputs systrace formatted text viewable
in the TraceViewer.

Other changes in this CL:
- Introduce a 'Trace' proto.
  This proto is just a repeated field of TracePackets
- Modify perfetto_cmd to output a Trace rather than just all the
  TracePackets back to back.
- To allow for this perfetto_cmd has a new dep on protozero.
- Fix a bug in ftrace_controller.cc where we implemented the generation
  count for each periodic task we started rather than once for each set
  of periodic tasks.

Change-Id: I2c9c194dfa85217bb2de02741bc2c4bcd1a0f908
diff --git a/BUILD.gn b/BUILD.gn
index 408a682..2787f6e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -30,6 +30,7 @@
     "src/protozero/protoc_plugin($host_toolchain)",
     "tools/ftrace_proto_gen:ftrace_proto_gen",
     "tools/proto_to_cpp",
+    "tools/trace_to_text",
   ]
   if (!build_with_chromium) {
     deps += [