glsl-function: wip
glsl-function: with name mangling
function-glsl: more work
Incorporating new ideas from discussion on gitter. Also some
cleaning
glsl-function: tests!
Add support for linking functions and checking changed

By linking a vertex and fragment shader the share a namespace.
This should also provide a good basis for handling varyings.

Function objects now have an ischanged() method to see whether
anything has changed (since a given time, or since the last time
it was compiled).
Enabling setting varyings with just two lines.
scene-function: get rid of new() method
scene-function: docs and small fix
scene-function: few more tests
flakify
scene-function: constant -> const

Also Variablevtype is public.
Also fixes to gloo.Program when shader source is changed.
scene-function: varyings and gl_Variables assignment

These now work just as template assignment. And one can do:

    code[varying] = X
    code[varying] -> X
scene-function: Do not set dirty if setting same expression

Also allow subsequent setting of template vars
Add examples to create Visuals using new Function class.
Add new ModularProgram class
Added ModularProgram; updated examples to follow.
remove commented code
Remove more commented code
Added ShaderObject class
Added compiler code from prior system