Refractoring progress, for maintainablity
Changed GameStateStack & StatedGame to adapt
to recent changes
Engines are now optional for Games
Refactored a lot of code
Updated license year
Changed header guards to not use "__" as a prefix