Move world, window params to WorldView.__init__().

Arguments existed but weren't used, passed in on each draw() instead.
Put a bit of map stuff in 'gamestate.py'.
Move between persistent worlds.

Keep previously-occupied so that state is preserved if/when returning.
Spare surfaces take up quite a bit of room.
Move game-state control to Player.

Loading next world when all coins collected broken.
Use gamestate in lots more places.

Have WorldView/HUD/MessageBox use gamestate rather than hacky stuff.
Makes main.py much tidier.

Fixes load-next with all coins collected, removes splash screens.