Fallback to OpenGL 2 in Windows if any error happens during OpenGL 3 creation

It turns out some old graphics cards such as the ATI Radeon X1650 PRO do have the wglChoosePixelFormatARB, wglCreateContextAttribsARB and glGenerateMipmap functions defined, which was the only way to check if the graphics card was OpenGL3-capable or not. 

Any call to create an OpenGL 3 context may end up in an error. For this reason, either if creating the context using wglCreateContextAttribsARB returns NULL or any other error occurs during OpenGL 3 creation, it falls back to OpenGL 2.