Allowed states to be dragged into view
Refactored point co-ords calculation
Don't allow dragging beyond bounds
Use canvas dimensions