* shader.h  and shader.cpp now use UString where possible.
 * std::string is still being used internally by the shader parser function.
 * ShaderManager is now a singleton.