extract static methods for generating OpenGL object ids in their respective classes; fallback to old shader source if compilation fails