Shader system

Kind of still work in progress. See comments in programlib_phong.js. But usable.
OK. Just sayin' ;)  If you're comfortable with what's happening here, I'm fine with it.