Refactored some of the cursor tracking code; Moved the interface around, added check box to force the selection rectangle to stay proportional to the dimensions of the canvas.