correctly handle undo/redo edge cases
add the ability to adjust stroke width
fix dynamic resizing of canvas
fix styling a bit
some minor refactoring
update README