* Cleanup toolCtx clearing and only do the canvas width height
* fix select bug where clicking after making a selection draws another rectangle
* remove unnecessary tool canvas clear
* clear select rectangle with clicking again
* remove uneeded toolCtx.stroke()s
* brush canvas only clear needed width, height. don't need to stroke.
* replace timers with requestAnimationFrame for smother animation
https://flaviocopes.com/requestanimationframe/
* skip running mousemove code if the mouse is still inside the last block