[BREAKING CHANGE] Multiple surface support and demo

Refactor the toolbar so that it can attached and detached from
a surface.

Remove (en|dis)ableFloatable and replace with a config option. Toolbars
never change their buoyancy.

Have toolbars emit a null updateState when they are detached so they
can disable all their tools.

The target now lazily creates a toolbar when you call getToolbar.

Update the standalone demo to allow creating extra surfaces, with some
future to-dos:
* Refactor the demo toolbar into target actions and surface actions
* Fix the focus-stealing issue when changing surface while a dialog is open

Change-Id: Ic999ec166d8005e0368c0dc95c0a5593e6bf2945