Add submerge and color modulation shader attributes.
Don't limit color modulation to the [-128, 127] range.
Properly set shader attributes in rectangle draw functions.
Fix sdl::timage copy ctor.
Consistent naming pattern for shader variables.
Exception for shader errors.
Add an exception for SDL_gpu errors.
Implement submerging in SDL_gpu builds.
Implement vertical and horizontal flip and grayscale effects.

Raises required GLSL version to 1.30.
Better SDL_gpu implementation for display::render_image.
Fix effects shader attribute.
'varying' -> 'in' or 'out' in shader sources.
Fix floating labels for SDL_gpu.
Don't print fps rate to cerr in SDL_gpu builds.

Now that floating labels are working, it's no longer necessary.
Draw map background in SDL_gpu builds.

Not yet perfect as the texture refuses to repeat vertically. Not sure
why.
Fix fullscreen mode for SDL_gpu.
Update SDL_gpu sources to r442.
Make the raw pointer accessible in sdl::timage.
Add an overlay texture uniform to the GL pipeline.
Fix SDL_gpu dependency detection.

Merged from SDL_gpu's source tree.