gl: dynamicgl support for Qt>=5.4

dynamicgl does not link to opengl but resolves all gl functions at
runtime. so we have to call QOpenGLFunctions instead.
QGLFunctions in Qt4.8 does not contains portable functions, such as
glViewport, glDrawArray. So we have to use macro even if it looks ugly.

win32: you may need -lshell32 when link an exe. add to qmake.conf
QMAKE_LIBS_QT_ENTRY = -lqtmain -lshell32