Refactoring of SDL Backend

I think I have finished the first milestone, the design of the new backend system. This is reflected in the ModularBackend class, the new abstract classes (AudioCDManager, MutexManager, GraphicsManager), and the default and null classes (DefaultAudioCDManager,  NullGraphicsManager, NullMutexManager). I may still need to tweak some things, but the design is pretty clear now.

I’ll now continue with the SDL refactoring, which is going good. All SDL Managers have been implemented by now, but I still have lots of work to do.

Now, I have to fix some code that is commented out since modularization, and I’ve to revise sdl code in general but specially the events and graphics managers.

Then, I’ll implement new OSystem_SDL subclasses for Windows, Posix/Unix systems and Mac OSX.

Finally, I’ll start creating the documentation for the changes I’ve made.