Added chapter3 page 31 example
Refactored shader program creation utility to support various types of shaders (not only vertex and fragment shaders)