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

Includes shadowDom creation and integration tests for nested components.
I think we should collapse the loops now as there are that many.