New uniform update mode for GLES2 NANOVG_GL_USE_UNIFORMARRAY

This adds a new uniform update mode for GLES2 (non-uniform-buffers) which replaces the 13 fragment shader uniform updates with a single glUniform4fv() call.

I tested all possible modes as good as I can on OSX and WebGL, but the pr should also be tested thoroughly on GL2 and GLES3.

I also kept the old code in as default for GL2 (and GLES3 as far as I can see), it probably would make sense to have only 2 uniform update modes, uniform buffer or uniform array, and ditch the old mode.
I think the first block is for "old" GLSL (varying...), and the second block is for "new" GLSL (in/out), I'll clean this up, also should be much more readable once the 'old' uniform update code is removed.