Smarter error-checking for DataNodes with uniforms

They can now check that the uniform name is a valid GLSL variable.
Made MTexture2D serializable
Made MTexture3D serializable