Added ShaderSource file (which can also do minimal preprocessing).