Introduction du ContextManager Part 2
 * la boucle principale appelle maintenant updateContextIfNeeded() de
ContextManager
 * création des données du menu et du race maintenant dans le
ContextManager
 * nouvelle fonction reset() dans GraphicEngine : supprime la liste des
objets 2D et 3D
 * méthodes temporaire du GraphicEngine : useMenuProgram() et
useRaceProgram()
 * Ajout du GameState NO_STATE utile au ContextManager