fix(engine): follow the restart when the original transports connect after it began
restartConnection emits Restarting before it closes the original
transports. If they connected in that window, the initial wait resolved
and Room emitted Connected in the middle of the restart, after it had
already moved to Reconnecting and unwound the remote participants.
In that window the wait now follows the restart's outcome. The restart
and the reconnect policy bound it there; a disconnect() still settles it
because Room closes the engine.