Add subroutines test app.

Shader class changes:
-now provides a function to set subroutine uniforms
-enables/disables GL_CLIP_DISTANCE state.
-moved program linking into a separate function form enable().