Renaming UniformInfo to UniformDeclaration and promoted class into its own c++ files
last [0] in Uniform name is now suppressed (not appended if missing)