Basic Typescript WebGL Plotter

This implements a basic plotter in typescript using WebGL.

Based on my cursory benchmarks, a reasonable computer within any crazy
graphics capabilities should be able to plot ~1-3 million points using
the plotting tool without major issue (the included sample plots 2
million points).

This also creates a sample webpage that uses the typescript reflection
library to subscribe to the timing report generated by the web proxy
application and then plots some of the statistics in realtime.

This does not yet support useful logfile analysis, because the web proxy
does not currently provide useful support for reading from a logfile
(technically it could do so as-is, but doesn't provide any good way to
ensure that you can get all the messages from the logfile).

Change-Id: Ibfe709259f3172530d94e2ad1aa4f257db7be9e0
diff --git a/aos/network/www/BUILD b/aos/network/www/BUILD
index 60bea09..ac376db 100644
--- a/aos/network/www/BUILD
+++ b/aos/network/www/BUILD
@@ -72,6 +72,7 @@
 ts_library(
     name = "reflection_ts",
     srcs = ["reflection.ts"],
+    visibility = ["//visibility:public"],
     deps =
         [
             "//aos:configuration_ts_fbs",
@@ -79,6 +80,34 @@
         ],
 )
 
+ts_library(
+    name = "plotter",
+    srcs = [
+        "plotter.ts",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+ts_library(
+    name = "graph_main",
+    srcs = [
+        "graph_main.ts",
+    ],
+    deps = [
+        ":plotter",
+        ":proxy",
+        ":reflection_ts",
+    ],
+)
+
+rollup_bundle(
+    name = "graph_main_bundle",
+    entry_point = "aos/network/www/graph_main",
+    deps = [
+        ":graph_main",
+    ],
+)
+
 aos_config(
     name = "test_config",
     src = "test_config_file.json",
@@ -104,6 +133,8 @@
     srcs = ["web_proxy_demo.sh"],
     data = [
         ":flatbuffers",
+        ":graph.html",
+        ":graph_main_bundle",
         ":reflection_test.html",
         ":reflection_test_bundle",
         ":test_config",