made a framework for running the game, including some sample objects

The "const" modifiers are there in the hope that it would solve my exception. if you uncomment the code in the GameEngine::update() you will get an exception. It shows that the vptr table of the Surface object is not properly initialized (uncomment for loop at GameEngine.cpp:34 and set a breakpoint at GameEngine.cpp:39 to reproduce problem).