shape squaring and alignment

- added makeSquare commands
- added alignment commands (DistributeStyle.Left, Right, Top, Bottom,
Vertical and Horizontal)
- duplicateSelectedCommand is now duplicateShapesCommand as it shouldn't
impact the selection
- deleteSelectedCommand is now deleteShapesCommand as it shouldn't
impact the selection
- editor commands now go through the toolLayer, this provides a way to
access the selectList and redraw the toolLayer
- the selectList now maintains a list of enclosedShapes, which are the
undeleted shapes in the select list (this means we can redo/undo
deletion/restoration of selected objects and still maintain the correct
selection and property panel info.