Implement ShaderProgram.
Use it for panelProg, consolidating a great deal of redundant code.