Expose renderer backend in title bar.
Remove unused mode flags. Respect vsync setting.

This removes the hardware, opengl, and doublebuf flags, since we always create
hardware/opengl windows if we can, and we can't control the buffering of
SDL_Renderer. It adds support for the "present immediate" flag.
Merge pull request #4 from jorgenpt/sdl2

Minor renderer updates
Keyboard fixes for SDL2.

This switches the keyboard handling code to always use symbolic / UTF8 names for
the keys, rather than relying on passing single characters, scancodes, and
whatnot.
SDL2: Pass key modifiers.

This passes key modifiers with each keypress, so we don't have to rely on our
own state for this.
SDL2: Query SDL for key modifiers each frame.

Instead of tracking our own modifier state in buttons_down, we now query SDL for
the keystate each frame using SDL_GetModState, which we store in
App:key_modifiers. We now check that variable when looking for shift/ctrl/alt
states, rather than buttons_down.
SDL2: Fix escape and space keybindings.
Fix building on GCC/MSVC.
Doc: Add SDL sprite handling code documentation.
Codechange: Introduce THColour decoding functions.
Merge pull request #5 from jorgenpt/sdl2

SDL2: Keyboard fixes
Merge pull request #14 from Alberth289346/sdl2docs

Doc: Add SDL sprite handling code documentation. (Based on Alberth and jorgenpt's approval)
Codechange: Change the palette rather than the image when recolouring.
Codechange: Remove mega texture (was not working and not used).
Add: 32bpp sprite decoder.
Codechange: Convert legacy 8bpp sprites to 32bpp images using the 0xFF recolour table.
Add: SpriteEncoder source code, description, and a simple decoder.
Add: Generated scanner and parser files (to enable building without having flex and bison).
Add: Input file for the ground tiles, and an example input file.
Feature: Load 32bpp image files into CTH, and store the sprites.