feat(view): add support for components that use shadow dom emulation

This should allow us to run the tree benchmark in Firefox and other browsers.
Could we make this part of `directive_metadata`?