Create registration function and flesh out lifecycle.

* Ensure that new Widget() functions properly
* Add pidgin/Button widget
* Start CSS theming including claro and flatwhite
* Update examples/basic.html