Glsl function - add ModularProgram

Originally I ran both string and ShaderObject replacements in the same loop and ended up with ordering issues.. This is the same order your original code did the replacements--strings, post hooks, functions.