glsl: Keep track of which dimension the ir_rvalue
 represents so we can validate the rest of dimesions.
glsl: Skip multidim support for now just get things building
glsl: length to num_elements for structures and interface
glsl: implement multidim array glsl_type constructor
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