Initial mechanism for games to set custom shader data.

General idea:  vsShader queries OpenGL to learn about what uniforms and
vertex attributes exist within the shader code.

vsMaterialInternal then allocates space for storing these values.

Games can then try to set values for those uniforms/attributes on the
vsMaterialInternal, and those values (if specified) will be given to
OpenGL during the render state flush, inside vsShader::Prepare().

In this commit, only single-float uniforms are supported, as a
proof-of-concept.

Still TODO:

 - Support other data types, and validate the types provided by the
 user against the data type which OpenGL is expecting (not currently
 being done).

 - Consider what to do if a material *doesn't* supply all required
 shader values.  Or if the data type doesn't match.  Should that trigger
 an assert?  My heart says 'yes', but:

 - We probably need to move our existing attribute/uniform setting code
 over to this new system.  Can't actually trigger an assert for non-set
 uniforms/attributes when half of them are being set through a different
 system, after all!

 - Don't want to require string compares for a game to set these shader
 values each frame.  There should be a mapping function which will take
 a string and return a uniform index, and that should be available to
 game code.  Then uniform/attribute values should be able to be set with
 that index, instead of by name.
Signed-vs-unsigned comparison errors spotted by GCC
Fix superfluous newlines in vsLog messages.
Merge branch 'master' into custom_uniforms
Adds new font justification options.

Can now justify fonts to Top and Bottom, in addition to Left and Right
(and all such combinations).  When justified to Top, the font draws so
that the TOP of the rendered text appears at the specified position.
When justified to Bottom, the font so that its baseline appears at the
specified position (note that glyphs with descenders may still draw
beneath that point).

These new justification types *do* work with line-wrapped text strings.