Implementing Spectator game mode

I have begun to implement the Spectator game mode without doing anything which will break compatibility.