Fix the handling of uniform arrays in the GL interop layer. In GL, arrays of uniforms need to have consecutive locations, i.e. array[x] is at location array[0] + x. The uniform mapping table mechanism in library_gl.js did not take into account that user could do int loc = getUniformLocation("array[0]") and then call glUniform3fv(loc+2, data). In the fix, uniforms are mapped so that arrays will be guaranteed to get consecutive locations.
Add unit test for GLES2 uniform arrays.
Disable the uniform array test by default.
Add a note that the previous commits shift the performance landscape to be heavier towards initial glLinkProgram time instead of doing work lazily in glGetUniformLocation time, which would get complicated for arrays, structs and SoA scenarios.
Merge pull request #1689 from juj/fix_gl_uniform_arrays

Fix gl uniform arrays