Create y2024 localizer

This is primarily a copy of the y2023 localizer, with updates to
better characterize the noise of the april tag readings (by separating
out heading/distance/skew measurements).

It also listens to the drivetrain Position message for encoder readings
rather than relying on the IMU board to send them.

This adds a few things:
* The main localizer libraries and processes themselves.
* Updates to the AOS configs to pull in the appropriate localization
  channels.
* Creates the typescript plots for localization debugging.
* Creates some dummy camera extrinsics for use in the tests.

Change-Id: I58d5c1da0d3dc2dad98bd2a9fc10965db51c4f84
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/y2024/BUILD b/y2024/BUILD
index f9102f9..f710e7b 100644
--- a/y2024/BUILD
+++ b/y2024/BUILD
@@ -58,6 +58,7 @@
         "//frc971/vision:intrinsics_calibration",
         "//y2024/vision:viewer",
         "//y2024/constants:constants_sender",
+        "//y2024/localizer:localizer_main",
         "//y2024/vision:foxglove_image_converter",
     ],
     data = [
@@ -121,6 +122,8 @@
         "//y2024/constants:constants_fbs",
         "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
         "//frc971/can_logger:can_logging_fbs",
+        "//y2024/localizer:status_fbs",
+        "//y2024/localizer:visualization_fbs",
         "//aos/network:timestamp_fbs",
         "//aos/network:remote_message_fbs",
     ],
@@ -149,6 +152,7 @@
         "//y2024/control_loops/superstructure:superstructure_can_position_fbs",
         "//y2024/control_loops/superstructure:superstructure_output_fbs",
         "//y2024/control_loops/superstructure:superstructure_position_fbs",
+        "//frc971/control_loops/drivetrain/localization:localizer_output_fbs",
         "//y2024/control_loops/superstructure:superstructure_status_fbs",
         "//frc971/can_logger:can_logging_fbs",
     ],
@@ -175,6 +179,7 @@
             "//frc971/vision:calibration_fbs",
             "//frc971/vision:target_map_fbs",
             "//frc971/vision:vision_fbs",
+            "//y2024/localizer:visualization_fbs",
             "@com_github_foxglove_schemas//:schemas",
         ],
         target_compatible_with = ["@platforms//os:linux"],