Again changes to the uniform uploading system. Added support for uniform
structs and uniform struct arrays.