Convert UnWarpContour to use a vector<Vector2f>

This makes it so we don't risk multiple points being rounded to the same
pixel.  It does the float conversion slightly earlier in the process.

Change-Id: Ic6288854ebddc17e020e839c1d2e5cc22394522a
diff --git a/y2019/vision/global_calibration.cc b/y2019/vision/global_calibration.cc
index d21e184..c9646fc 100644
--- a/y2019/vision/global_calibration.cc
+++ b/y2019/vision/global_calibration.cc
@@ -162,9 +162,10 @@
     for (const RangeImage &blob : imgs) {
       // Convert blobs to contours in the corrected space.
       ContourNode *contour = target_finder.GetContour(blob);
-      target_finder.UnWarpContour(contour);
+      const ::std::vector<::Eigen::Vector2f> unwarped_contour =
+          target_finder.UnWarpContour(contour);
       const ::std::vector<Segment<2>> polygon =
-          target_finder.FillPolygon(contour, verbose);
+          target_finder.FillPolygon(unwarped_contour, verbose);
       if (!polygon.empty()) {
         raw_polys.push_back(polygon);
       }