I remember seeing a version of GH compiled in "mini mode", where the screen dimensions were 640 * 480, rather than 800 * 600, set by a symbol. I'm not sure if GH checked the signal each time it was needed (I saw it in the SDL initialisation), but if not, it may suggest that screen resizing is possible.
SDL screen resizing isn't that hard: just switch the current surface for a new surface. I've done it before for a different project (though it was really more fullscreen/windowed hot-switching, but same principle).