Use an explicit ceres::Context

This lets us reuse it which makes the solves way faster.

Change-Id: I3f8745970f1e3bf0c3299632efb019002c8eb36f
diff --git a/y2019/vision/target_geometry.cc b/y2019/vision/target_geometry.cc
index 91c8848..e647f1f 100644
--- a/y2019/vision/target_geometry.cc
+++ b/y2019/vision/target_geometry.cc
@@ -236,8 +236,10 @@
   double params_4point[ExtrinsicParams::kNumParams];
   default_extrinsics_.set(&params_4point[0]);
 
-  Problem problem_8point;
-  Problem problem_4point;
+  Problem::Options problem_options;
+  problem_options.context = ceres_context_.get();
+  Problem problem_8point(problem_options);
+  Problem problem_4point(problem_options);
 
   ::std::array<aos::vision::Vector<2>, 8> target_value = target.ToPointList();
   ::std::array<aos::vision::Vector<2>, 8> template_value =