I managed to get the opengl gem installed (someone else on the forum recommended "gem install opengl --pre", which worked for me). Requiring gosu and opengl in the same app gives me access to the opengl side of things. It reports my OpenGL version as "2.1 NVIDIA-8.0.61" (OS X 10.8.2). So that answers 1 and 2.
1) The ruby-opengl gem isn't compatible with 1.9 and was abandoned. The opengl --pre gem, is just a fork from that code to fix it for 1.9, since the original author wasn't going to update it.
2) Gosu requires OpenGL 1.1. Ashton requires OpenGL 2.0 for minimum shader support. I intentionally kept the provided Ashton shaders at maximum compatibility (GLSL 1.1), though there is no reason that its users can't write much more advanced shader code if it suits them (I'd recommend using at least GLSL 1.3).
3) If you create a native extension, then yes you can manipulate the OpenGL context, but you need to provide your own bindings to OpenGL if you want to access it directly from C, not by dropping out to Ruby (the latter would be very slow). Ashton compiles the GLee bindings, which I found to be a lot nicer than GLEW, in my limited experience. Look at the Ashton source if you want to see how to do that (or I can answer specific questions).
4) You can do whatever you like in a gl block. The only issue is that it is intended to keep the context consistent, but it doesn't reset some things which are more advanced than Gosu itself uses, so be careful. For example, a gl block resets the view, but it doesn't reset the current shader.