Added GameObject and VisibleGameObject virtual classes. Player, Weapon and Level are all now part of it.