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.
adds Get/SetFieldOfView() to replace Get/SetFOV()

Get/SetFOV will be removed at some point in the future.
Fixed non-resize in automatic vsArrayStore resize.

Would result in buffer overflow and other badness.  Am chagrined and
much embarrassed that (a) this major, stupid bug made it into the
codebase, (b) has been here for so long, (c) that I implemented an
automatic resize in these 'array' classes to begin with.  Why don't I
just use STL if I'm going to do that sort of performance-hostile thing?

Need to consider rolling back this feature;  arrays should be
initialised to their capacity, and NOT ever auto-resize -- trying to
over-fill one of them should be a fatal error in game code.  (Note that
this opinion of mine is probably why I never noticed that the
auto-resize was there, and that it was so horribly broken)
Fixes depth bias specified on materials

(Temporarily disables depth bias specified in custom rendering settings.
Not sure what to do about that yet;  probably will remove the feature.
Don't think it was being used anywhere?)
MeshMaker now can be told not to attempt vertex merging.

Useful for when you want to build faceted models, rather than smoothing.
Existing code should not see any difference.
Proper invert for 3x3 matrix.

Previously, the vsMatrix3x3::Invert() and Inverse() functions actually
performed a transpose (since that's faster to calculate for rotation
matrices, which is what you usually put in a vsMatrix3x3).  However, it
wasn't a real, generic invert.

I've now implemented a proper invert, and moved the old, fast "basically
the same as an invert for rotation matrices" over to 'Transpose()'.
Nothing inside VectorStorm was calling that function anyway, and I only
had one spot in a game which was calling it (and even that was old code
which was no longer in use).  Hopefully this shouldn't affect anyone.
Merge branch 'master' into sdl2

Conflicts:
	VS/Graphics/VS_RendererSimple.cpp