Deals better with composite construction in C++ and also fixes a few bugs in GLSL backend with array-of-arrays.