Non-square render targets.

No clue why I was bumping up render targets to use the next higher power
of two for their texture size.  That was very old-school of me, but
really isn't necessary any more, these days.
Adds some default uniform types for shaders

Also fixes a shutdown crash in non-shader rendering if someone tried to
use a custom shader.
Fixes to non-shader rendering

 - Adds space for a stencil buffer.
 - Non-shader rendering now obeys material stencil settings.
 - Fixes non-shader rendering of non-fullscreen viewports.

Whoops -- overlooked the compatibility-mode as I was focusing on
shader-based development.