Increased complexity of shader used by integer test

The new shader adds output packing, round_pi, ftoi, imax and ishl.
Handle output register packing when using in/out with semantic names

Multiple outputs can be packed into one register. e.g.
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// FACTOR                   0   x           3     NONE     int   x
// MAX                      0    y          3     NONE     int    y

We want unique outputs to make it easier to use transform feedback.

out  ivec4 FACTOR0;
#define Output3 FACTOR0
out  ivec4 MAX0;

MAIN SHADER CODE. Writes factor and max to Output3 which aliases
FACTOR0.

MAX0.x = FACTOR0.y;
This unpacking of outputs is only done when using
HLSLCC_FLAG_INOUT_SEMANTIC_NAMES. When not set the application will be
using HLSL reflection information to discover what the input and outputs
mean if need be.

Also removed some usage of uint for GLSL versions which do not support
that data type.
Fix constant vector array indexing

Noticed in tests\apps\Shaders\LambertLitPS. Also the rows member of dx9
shader constant variables info was not assigned a value.