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.
Why do we need separate files for ES6 and Dart?