Refactoring OOUI toolbar

Borrowing heavily from VisualEditor's way of constructing the toolbar
since OOJS was built with VE in mind. Reorganizing the toolbar to work
with tool objects and listen to scenario states.