fix comment typo
add comment
add createButton method

this indirection allows subclasses to create their own custom buttons
fix doc comments
update doc comment
simplify the ToolBar

this updates toolbar to be a Widget (instead of Container) which manages
the DOM button nodes directly.