Can we restructure this in some way so that we don't instantiate skybox shader programs or color picking shader programs if the user doesn't want color picking or skyboxes (or other things which will probably come). 

That work may actually be part of my settings pull request, though. What do you think?