Conserve instruction space in uniform packing test

Shaders in variable packing tests could go past instruction register
limits on GLES2 compliant hardware. The GLSL ES 1.0.17 Appendix A.2 says
that the limit is defined by the conformance tests. This limit is inexact
since there's no shader bytecode spec in OpenGL, but instructions can
typically be conserved by doing padding from float, vec2 and vec3 types
to vec4 only once per shader instead of once per uniform as before. This
makes it possible to pass the conformance tests on a wider array of GLES2
compliant devices than before.

Also reduce the minimum number of rows for uniforms from 128 to 126 in
the vertex shader tests to make two rows available to constants.

Includes some cleanup and clarifications in the surrounding code.

This is a bugfix to the conformance suite, so it is backported also to
1.0.2.
Fix fragment shader minimum uniform vector count
Fix fragment shader minimum uniform vector count in 1.0.2 as well
One row for constants in uniform packing tests should be enough

The tests use at most 4 constants, including array indices and floats
that are used for padding. Matrix column indices are assumed not to use
uniform space.
Merge pull request #346 from NVIDIA/save-instruction-space

Conserve instruction space in uniform packing test