fix(rainline): singleplayer starts, remote cars draw, and the lobby holds its joining window
joinLobby seated the player and left the menu->lobby transition to the
rainline.join handler, which a peer never receives from itself, so the
authority's own join was the one join the race never saw and a lone driver
sat seated in a menu that never advanced.
A remote car's visual rebuilt from onPropertyChanged when its replicated
variant arrived, and component.add is refused there, so the body was never
built and the rig stood empty at the world origin: the car was absent where
it drove and present where nobody was. The rebuild now happens on the next
tick, ahead of the guard that skips a rig with no body.
The lobby countdown lived on a peer-local deadline while its armed flag
replicated, so a peer that became the authority without having armed the
lobby itself read no deadline, computed zero and locked the grid on the
spot -- joining dropped a player onto a grid already running. The countdown
now rides the synced field, and a restart re-arms from scratch.
refreshHumans counted every player in the world, and each session of one
account carries the same membership key, so a singleplayer race seated other
peers' cars and spent its bot places on them -- a lone driver got one rival
instead of three.