There is absolutely no reason not to link with libGL.so directly: Even if you make OpenGL a hard dependency, nothing will break. Just announce it well so that everybody understands the change and make --disable-opengl the default option. Now everyone can get wine and it will work out-of-the-box and those who want opengl can enable it (and the distribution packagers should make sure wine depends on opengl when building the package).
I do not agree with this suggestion. How many users want(or have to) override glx funtions, and how many users just build Wine from source and want OpenGL and Direct3D support?
It WILL lead to much confusion among users if OpenGL is disabled by default, no matter how well you annouce it. And those who know how to hook library functions will know about dynamic loading vs. linking at build time.
As a consent, I could think of a configure option --link-opengl, but I am not the one to decide this, and I think that too many options aren't really good too.
Why do you want to hook GL functions? I consider this a hacky workaround for bugs which should be fixed otherwise, but I might be wrong with this. The only thing I know is a workaround for the fglrx driver, but for Wine, this was fixed elsewhere.
Cheers, Stefan