Glsl function - add ModularProgram

I stored *verbatim* replacements (the ones set in `Function.replace`) in `_replacements` and template replacements in `_expressions`. We can mix them but then your `replace` function (in `_get_replaced_code`) needs to take this into account (now it always prepends a dollar sign.