Support compute shaders while still targeting GL 3.2

This is a suggestion of how compute shaders could be supported while still targeting GL 3.2.  I replaced the shader string member variables in GlslProg::Format with a map.  I also added a shaderStage function that takes the shader type and the source.  Users can then use compute shaders by doing:

mUpdateProg = gl::GlslProg::create( gl::GlslProg::Format().shaderStage( loadAsset( "particleUpdate.cs.glsl" ), GL_COMPUTE_SHADER ) );

To test this change, I converted the ParticlesGPU sample to use compute shaders in ParticlesCS.  It works under Visual Studio 2013.  I also ran several of the existing samples under _opengl on both osx and windows. 

![image](https://cloud.githubusercontent.com/assets/2839955/4507111/b15148d4-4b09-11e4-825e-353b659fc6ca.png)