Refactor toolbar items to transition better between states

Bar button items now behave within a state machine, with
a helper class (ZSCanvasBarButtonItem) for generating
items and blocks for event handling.