Make sure we properly account for transitive liveness when processing bridge objects. Fixes #13858

We depend on the latent liveness state of objects at the time we collect bridged objects. To
preserve this we must perform the dfs1 step right after collecting them and before we drain the
gray stack or all objects pointed by candidate bridge objects will be marked as alive.
Add test case for xref behavior for the sgen bridge.
Fix the windows build.