Add Shader Compiler (refs #72)
Move ShaderCompiler to private interface (refs #72)