feat(view): add support for instantiation of nested views.

Includes shadowDom creation and integration tests for nested components.
I needed it for an earlier version of the unittest. However adding ``` = {} ``` is the original intent - otherwise ```new Directive()``` is not supported in JS (but supported in Dart). We should not have any purely ```f({...})``` forms in our code.