glsl: Keep track of which dimension the ir_rvalue
 represents so we can validate the rest of dimesions. Still not sure if I'm
 doing things right here will need to wait until things are compiling properly
 before I can test this out
glsl: Cheating for now and not acctually implementing
 multidimension support for constructors just want to get things compiling to
 be able to test other changes
glsl: Make validate_binding_qualifier() compile and
 ignore arrays_of_arrays support for now
glsl: fix up type
glsl: changed length to num_elements for interface and
 structure types
glsl: fix initialisation of some types
glsl: Fix param type and start implementing
 arrays_of_arrays constructor
glsl: cheat here and implement multi dimension support
 later on
glsl: use ir stored array dimension to know which
 dimension we are up to
glsl: an array whose elements are arrays needs to store
 a type of GLSL_TYPE_ARRAY  this allows do_comparison() to work recursively on
 dereferencing each array element