progress with ProgramContext
progress: ProgramContext::setUniform is working and tested
refactor: ProgramRepo cleaned up