Fixed a bunch of tool switching and drawing bugs.

For most cases, tool switching should occur within the drawing method so
as to modularize the whole tool switching and drawing process into one
collective action.