Configuration struct describes the canvas size and all initial windows.
Organize some SDL includes. Require a canvas to init the graphic::Manager
Move PixelSurface to internals.
Forward the canvas handling to graphic::manager.