Add C++ charuco camera calibration code

It subscribes to the image message and generates the intrinsics
calibration when enough images have been captured.

To deal with calibration from the python calibration code, the
flatbuffer generator also supports loading both the new and old json
files.

Change-Id: I83190e5c17f970a94ca0eb9310f5787fe714c518
diff --git a/debian/opencv.BUILD b/debian/opencv.BUILD
index 7fdbaaa..a8b01fb 100644
--- a/debian/opencv.BUILD
+++ b/debian/opencv.BUILD
@@ -10,6 +10,7 @@
             "usr/lib/x86_64-linux-gnu/libopencv_flann.so.3.2",
             "usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2",
             "usr/lib/x86_64-linux-gnu/libopencv_videoio.so.3.2",
+            "usr/lib/x86_64-linux-gnu/libopencv_aruco.so.3.2",
             "usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2",
             "usr/lib/x86_64-linux-gnu/libopencv_ml.so.3.2",
             "usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.3.2",
@@ -239,6 +240,7 @@
             "usr/lib/arm-linux-gnueabihf/libopencv_flann.so.3.2",
             "usr/lib/arm-linux-gnueabihf/libopencv_highgui.so.3.2",
             "usr/lib/arm-linux-gnueabihf/libopencv_videoio.so.3.2",
+            "usr/lib/arm-linux-gnueabihf/libopencv_aruco.so.3.2",
             "usr/lib/arm-linux-gnueabihf/libopencv_imgcodecs.so.3.2",
             "usr/lib/arm-linux-gnueabihf/libopencv_ml.so.3.2",
             "usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so.3.2",