Refactoring

- Rename GLVariable to ShaderParameter. Much better.
- Store Uniform setters in Program, not Uniform
- Add current Uniform values to Program