Added the GameContract.

@bsoetaer 
I was thinking that the controllers would be created by the game itself, and this is how they would be accessed.  Of course, we could also have the game manager create the controllers itself.  It probably makes more sense the other way, actually, so I guess we can get rid of this contract.