fix(components): the content tag duplicates elements

Change the component factory to pull light DOM elements before they get compiled. It is important when the light dom has viewport nodes, because they change their siblings.