Spectator mode fixes

Allows setting of `gmSpectator` as the world's default gamemode. Makes sure that a player spawning in spectator mode can fly rather then falling out of the world. Adds checks to prevent spectator from taking hunger, food exhaustion, for catching fire.
```if (!IsGameModeCreative() && !IsGameModeSpectator())```