Glsl function - add ModularProgram

Should not be a problem. We use an ordered dict, so the replacements are applied in the order that the user specified them.