Utility functions for compiling shaders and programs Create a program composed of vertex, geometry and fragment shaders.