Refactoring and cleanup

- Added ObjectPairError.
- Updated error handling in Program and Shader.
- Updated error handling in Context.
- Work-in-progress, won't compile.