Write class to handle gyro zeroing

Since we're moving the gyro zeroing into the drivetrain, take the
opportunity to write a new class to wrap it and to handle automatically
zeroing us any time we stay still for 5 seconds.

Change-Id: I9be7c970b6bbe3cf1eddc217c93467dfc21cd4cd
diff --git a/frc971/zeroing/BUILD b/frc971/zeroing/BUILD
index fe95bdc..ffd1114 100644
--- a/frc971/zeroing/BUILD
+++ b/frc971/zeroing/BUILD
@@ -7,6 +7,10 @@
     hdrs = [
         "averager.h",
     ],
+    deps = [
+        "@com_github_google_glog//:glog",
+        "@org_tuxfamily_eigen//:eigen",
+    ],
 )
 
 cc_test(
@@ -17,6 +21,36 @@
     deps = [
         ":averager",
         "//aos/testing:googletest",
+        "@org_tuxfamily_eigen//:eigen",
+    ],
+)
+
+cc_library(
+    name = "imu_zeroer",
+    srcs = [
+        "imu_zeroer.cc",
+    ],
+    hdrs = [
+        "imu_zeroer.h",
+    ],
+    deps = [
+        ":averager",
+        "//frc971/wpilib:imu_fbs",
+        "@com_github_google_glog//:glog",
+        "@org_tuxfamily_eigen//:eigen",
+    ],
+)
+
+cc_test(
+    name = "imu_zeroer_test",
+    srcs = [
+        "imu_zeroer_test.cc",
+    ],
+    deps = [
+        ":imu_zeroer",
+        "//aos:flatbuffers",
+        "//aos/testing:googletest",
+        "@org_tuxfamily_eigen//:eigen",
     ],
 )