Added default constructor and exeption thrown when not properly initialized.
Simplest Example using mgl.
Generation of a shader inputs/outputs based on attributes.
Merged common code for shader object and program object.