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

Includes shadowDom creation and integration tests for nested components.
Done all, except ```elementInjector.get(View)``` as discussed we need ```childViews``` for crossing view boundaries.