Add a ToolControls class to handle non-drawing related things for a tool
Split source into multiple files
Clean up tool controls a bit