Moved main down to avoid macro definition issues
Fix a bug in player and rename some variables

The destroy method in player was specialized on all destructibles, not just
player. Thus the game ended even if just a rat died.

Also renamed some variables to reflect the recent changes to world and state.
Correctly handle nil returns from handle-input

If the player presses 'q' to quit the game, handle-input returns nil.
sdl-loop needed to be updated to handle this.