fulfills the ShaderProgram cleanup, closes #11