Fix tests\gs4\PipesGS compile failures

Was failing due to type mismatches. Fixes made to ftou/ftoi/mov. The
generated GLSL is now compile-time correct, but might not be run-time
correct.
More HLSL_ieq and HLSL_ilt overloads
Some data-type mismatch/conversion fixes.

CallTernaryOp now takes a data-type flag.
GetOperandDataType supports operands of the input and constant register
types and 2D indexed input/outputs.
TranslateOperand no longer writes to aeTempVecType. This is because an
instruction may reference an operand more than once with different type
interpretations - e.g. in type conversion opcodes like ftoi. For ftoi
translating the dest then translating the source would leave the dest as
float instead of int. So type setting must be done at the instruction
rather than operand level.
Arrays of vector\matrix constants