Merged branch shapeOverhaul

contains the following changes:
    - added toolbar to UI for different shape tools
    - made shape system much more modular
    - can now draw multiple shapes
    - can now manipulate existing shapes
    - improved point translation for calibration adjustments
    - added general purpose algorithms for translating curves to controller
      commands
    - made controller interface and command queueing more robust
    - added way to visually indicate progress of each shape being drawn
    - various other changes