Chad Versace of Intel has been working on a cross-platform C library that defers selection of the OpenGL API and windowing system until run-time. This makes it easier switching OpenGL back-end targets as well as going from X.Org to Wayland.
Versace's project page
for Waffle describes the library as "a cross-platform C library that allows one to defer selection of GL API and of window system until runtime. For example, on Linux, Waffle enables an application to select X11/EGL with an OpenGL 3.3 core profile, Wayland with OpenGL ES2, and other window system / API combinations. Waffle's immediate goal is to enable Piglit, Mesa's OpenGL test suite, to test multiple GL flavors in a cross-platform way. However, Waffle's design does not preclude it from being useful to other projects."
Native platforms for Waffle include GLX, X11/EGL, Wayland, and GBM (tentative) for Linux. On Windows there is MacOS CGL right now with possible MacOS GLX support. Android and Windows support are also being talked about. The OpenGL APIs that can be handled by the tasty library include OpenGL, OpenGL ES 1.0, and OpenGL ES 2.0.
Waffle has been quietly under development going back to early April of this year. There will be a brief presentation about the Waffle library at XDC2012
in two weeks.