Speed up plotter flatbuffer parsing

We had been lazily doing all the reflection work on every single
message. Do the work to look up the field metadata and the such only once
prior to iterating over all the messages.

Change-Id: I2bdcfdd6f71b819b162c1e602a99aedfb6924f02
Signed-off-by: James Kuszmaul <jabukuszmaul@gmail.com>
diff --git a/frc971/wpilib/imu_plot_utils.ts b/frc971/wpilib/imu_plot_utils.ts
index ee1a190..7657d37 100644
--- a/frc971/wpilib/imu_plot_utils.ts
+++ b/frc971/wpilib/imu_plot_utils.ts
@@ -6,6 +6,7 @@
 import {Point} from 'org_frc971/aos/network/www/plotter';
 import {Table} from 'org_frc971/aos/network/www/reflection';
 import {ByteBuffer} from 'org_frc971/external/com_github_google_flatbuffers/ts/byte-buffer';
+import {Long} from 'org_frc971/external/com_github_google_flatbuffers/ts/long';
 
 import Schema = configuration.reflection.Schema;
 import IMUValuesBatch = imu.frc971.IMUValuesBatch;
@@ -19,7 +20,7 @@
   constructor(private readonly schema: Schema) {
     super(schema);
   }
-  private readScalar(table: Table, fieldName: string): number {
+  private readScalar(table: Table, fieldName: string): number|Long|null {
     return this.parser.readScalar(table, fieldName);
   }
   addMessage(data: Uint8Array, time: number): void {