Refactoring and cleanup

- Updated the ProgVar<> framework.
- Updated UniformBlock.
- Updated several standalone examples.
- Other updates.
- Work-in-progress, some parts won't compile.