optimized nuiShaderState use (only reference pointers now, to prevent copying state objects everywhere)