codectrl now uses ShaderProgram class
ShaderProgram now handles texture unit binding