Add missing license headers
Test against some widget functions, fix bugs
Improve debug output of Style
Implement CSS rule for flex attribute
Fix incorrect pure virtual methods
Implement AbstractWidget::is_element(), for CSS matching
Fix comparision and deinheritance of text_colour
Fix loop going out of bounds in BoxWidget
Fix ambiguity in enable_shared_from_this bases
Add some missing methods to RootWidget
Add the layer widgets to the Root

This now requires creating the RootWidget using RootWidget::create()
instead of the constructor. We need a valid shared pointer at the time
of creation, to correctly add the layer widgets.
Fix some messiness with root widget reference
Add and fix more tests