Skip lazy hydration for detached roots

Fixed an issue where async components with lazy hydration would attempt to hydrate even after their DOM elements were removed from the page. Now the hydration process checks if the element is still connected to the document and safely skips hydration if it has been detached.