Option to not clear canvas when drawing
Refactor to remove `tool_defs` global variable