Shader system

Kind of still work in progress. See comments in programlib_phong.js. But usable.
but it makes things work. Why?