Adds a new "zone exit" phase that triggers after all waves in a zone are cleared:
- Listens for `zone-waves-complete` event to start the exit sequence.
- Displays blinking arrows on all screen edges and a "ZONE CLEARED" prompt.
- Disables world bounds to allow the player to walk off-screen.
- Detects when the player crosses an edge and triggers a transition:
- Shows a white flash animation.
- Respawns the player on the opposite edge, maintaining their lateral position.
- Re-enables world bounds and starts the next zone via `WaveManager.startNextZone()`.
Refactors `WaveManager` to defer zone advancement until the player exits, ensuring a smoother flow between zones.