Palette and Overscan border Patch (NY00123)

Remarks from email:

Notes about this, first regarding the palette changes:
- Apart from the palette change support itself, implementations of VL_FadeToBlack and VL_FadeFromBlack have been added.
- The SDL 1.2 backend has been updated to work with 8-bit paletted surfaces, just like the SDL 2.0 GL backend.
- As a consequence, several methods from id_vl.c involving the RGB and RGBA formats (like VL_MaskedToRGBA) are now commented out, although not removed from the source file.
- Furthermore, there are more similarities between the SDL 1.2 and SDL 2.0 GL backends now. For instance, VL_SDL12_UnmaskedToSurface and VL_SDL2GL_UnmaskedToSurface basically do the exact same thing (i.e., call VL_UnmaskedToPAL8).
- In the future, it may be a good idea to merge the two SDL backends, and possibly have a new split to backends based on the method of rendering (e.g., Software vs OpenGL).

Now, about the overscan border:
- A bit of early knowledge: With the VGA, all 200-lines modes are double scanned, so the 200-lines modes are practically 400-lines modes.
- In the code of mode 0xD, this means it's practically a 320x400 mode, although the actual graphical data is prepared for 320x200.
- Based on possibly experimental results, each horizontal overscan strip consists of 7 scanlines. That's the case *after* doubling the height of the mode to 400.
- This leads to some complications when it comes to the calculations of a few dimensions and positions, because a window with the pixel dimensions of 320x200 can't have a horizontal bar consisting of 3.5 scanlines.
- Hence, a scaling factor is used to take care of that. A 320x200 sized window as used in the SDL 1.2 backend can have 3-scanlines horizontal bars added. For a 640x400 window, a horizontal bar can have 7 scanlines.
- There is surely more to improve, but for now we have this.
Merge origin/master