Fixes png header issues with libpng 1.6.1
Ignores function uniquess on MSVC because of compiling errors
Fixes variable declaration for C89 compliance
gl: Updates dispatch entries for Windows compilation against opengl32.dll

The default OpenGL library for Windows is 1.2 compliant and the functions
glActiveTexture and glBlendFuncSeparate are not available, use dynamic
dispatch in this case. Some drivers also seems to follow Windows API
function calling convention which is __stdcall, fixes that issue with
CAIRO_GL_DISPATCH_API macro that matches WINAPI for dynamic dispatch.