Add AprilTag support to charuco_lib and improve multi-camera cal code

May remove AprilTag from charuco lib later, and use target_mapper flow
For now, this allows us to do multi-camera calibration using AprilTags
instead of Charuco Diamonds

Cleaned up calibrate_multi_cameras to make it flow a bit better

Change-Id: If6f0536f57f8ee28bdad96ce3527dba71cd9be65
Signed-off-by: Jim Ostrowski <yimmy13@gmail.com>
diff --git a/frc971/vision/charuco_lib.h b/frc971/vision/charuco_lib.h
index 2f274bb..62923db 100644
--- a/frc971/vision/charuco_lib.h
+++ b/frc971/vision/charuco_lib.h
@@ -83,7 +83,8 @@
 enum class TargetType : uint8_t {
   kAruco = 0,
   kCharuco = 1,
-  kCharucoDiamond = 2
+  kCharucoDiamond = 2,
+  kAprilTag = 3
 };
 
 TargetType TargetTypeFromString(std::string_view str);