Changes to aos/vision/debug in preparation for the competition.

- blob_log-source: Support multiple key-commands for seeking to a target
 also added JustCheckForTarget which can be implemented to run faster
 for slow computer (will implement in followup).
- camera-source + debug_framework: Takes in camera parameters from the
caller.
- debug_window -> Scale text up on smaller monitors.
- overlay.h: Ben changed width to measure point to point on the cross.
  And added circles to the pixel-lines overlay.
- tcp-source: Drop packects when the computer can't keep up.
- debug_framework -> detect smaller monitors and scale down the viewport.

Change-Id: Iae65a0799231d006b38694a8a9cb3894e252033c
diff --git a/aos/vision/debug/debug_window.h b/aos/vision/debug/debug_window.h
index 906bf3b..aa31a8c 100644
--- a/aos/vision/debug/debug_window.h
+++ b/aos/vision/debug/debug_window.h
@@ -12,7 +12,8 @@
 // Implement Cairo version of RenderInterface.
 class CairoRender : public RenderInterface {
  public:
-  explicit CairoRender(cairo_t *cr) : cr_(cr) {}
+  explicit CairoRender(cairo_t *cr, double text_scale)
+      : cr_(cr), text_scale_(text_scale) {}
   virtual ~CairoRender() {}
 
   void Translate(double x, double y) override { cairo_translate(cr_, x, y); }
@@ -36,6 +37,7 @@
 
  private:
   cairo_t *cr_;
+  double text_scale_ = 1.0;
 };
 
 // Simple debug view window.
@@ -55,6 +57,13 @@
   // See overlay.h for more info.
   void SetOverlays(std::vector<OverlayBase *> *overlay);
 
+  void AddOverlay(OverlayBase *overlay);
+  void AddOverlays(const std::vector<OverlayBase *> &overlays) {
+    for (auto *overlay : overlays) {
+      AddOverlay(overlay);
+    }
+  }
+
   // Resizes the window.
   void SetScale(double scale_factor);