Refactoring and cleanup

- Added ProgVarError.
- Updated Error.
- Updated error handling in VertexArray, TransformFeedback, Sampler
  and ProgramPipeline.
- Work-in-progress, won't compile.