Fixed HDPI canvas bug.
Added snap and unsnap methods for drawing clean strokes.
Need to think of a way to handle this automatically.
Automatically snap/unsnap from strokeShape and paintShape methods.