Added toolstack, scale content

- added toolstack and made tools to use it
- changed scaling so that it scales content (retains outline size, etc)
Split tools to smaller units, added rotation and constraints

- split the toolSelect to toolSelect, toolDirectSelect and toolScale
- added toolRotation
- added rotation cursors
- added shift constraints to most tools
- moved selectionBounds to global state