Shader system

Kind of still work in progress. See comments in programlib_phong.js. But usable.
OK, yep, you're right. I'm happy.