Fallback to desktop context if embedded fails

Starting with OpenGL 4.1 and the ARB_ES2_compatibility extension, desktop contexts can execute OpenGL|ES code. This fallback will allow platforms to execute OpenGL|ES code even if EGL is not available (e.g. Nvidia/Windows).
Throw extension if context creation fails

This aligns behavior with that of the other platforms.