Add Effect class
When an effect (a set of shaders) is needed, a EffectInfo struct
	is filled out and passed to the Effect class initialize funcion.
	Effect contains pointers to all shader types and these will either
	be initialize or ignored upon be called by developer, depending on
	which flags has been turned on.