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
added frame freezing when executing path
added CircleEntity class
small code simplification
improved logic for isPointOnEntity method
qFloor works correctly with negative numbers
controlPointsToVectors now correctly returns vectors
slight fix to outlining, still not correct
added and enabled PolygonEntity class
removed unused reference code
added and enabled CurveEntity class for cubic bezier curves
for CurveEntity class: added TranslateAll detection
added progress indicator functionality to CurveEntity class
added way to test progress indicator. select entity and press Space
corrected progess indicator code for all entities
made the radius of control points configurable and removed unused variables
slight changes to README
created calibration routine for new shape system. needs testing
refactored some code to have more consistant member variable naming
now dynamically loads settings on use, so they can change while running the application