Work around for some type limitations / checks.

We want to propagate the only information scrolling can bring to the event
listeners without forcing type of the target and multiple checks.
Make the color themable.
Rework the event auto listener registration and separate it from the agents.

This allows the DOM event listenening to be done on child elements and
the handing to be done several levels above that (one exmaple is the
header panel where the scroll listening is done on the header-panel-main
but the handling is done on the 'header-panel' instance).
Update elements to use the pointer / scroll agent only when needed.
Fab button implementation.
Rework the header panel to make it possible to create instances from JSON.
Remove use of deprecated code.
Implementation for the checkbox.
Update the decorator to cover the new elements.

Also update the deps and the template for new elements.
Allow label in checkbox.
Fix the base element to not use models

We want to separate the models from the UI controls, instead composition with a controller pattern will be used to convey the model pattern to the components. This patch also fixes an issue when a custom renderer is used to construct a control with custom class name where the class name to state mappings are created in the constructor but the class name is set afterwards effectively preventing the custom class name from working with the state machine
Fixes small error when setting the auto states for the control

Also takes care of linter warnings
Remove model coupling from the control

Also completely delegates the icon setter to the renderer
Rewrite of the implementation

The rewrite addresses several issues, as a result the icons are now much more reusable and manageable, also better support for animations is included
Include an overview
Some improvements on the icon mutation animations
Add preliminary impl for menuitem

Updates deps, enforces font on the apps and fixes up the templates