call this to perform the actual hydration.
iterate through the root elements of the component's non-hydrated DOM, accounting for possible fragments.
a teardown function to be called if the async component is unmounted before it is hydrated. This can be used to e.g. remove DOM event listeners.
A lazy hydration strategy for async components.