Refactoring and cleanup of Object internals

- Updated Sampler implementation.
- Updated ProgramPipeline implementation.
- Updated Program implementation.
- Updated Shader implementation.
- Work-in-progress, won't compile.