Again, based on The OpenGL Shader Wrangler. The wrangling part is not used yet, but the shader compiler has been modified to take the built up shader. Just to keep things compiling, a wrapper has been temporarily created.