The only way to have accelerated offscreen rendering, as far as I know, is to use frame buffer object (FBO).
I'm not aware of any modern graphics card not supporting GL_ARB_framebuffer_object (FBO), even the cheapest ones.

Yes, pretty much any! Framebuffer Objects are a core feature since OpenGL 3.0. You only need a valid OpenGL context to use them.
The only exception are some older crappy Notebook chips that promote OpenGL >= 3.0 but don't actually support FBOs. But this days there are nearly non existing.