I have HE engine Scumm games saving at any time now, with only sound and graphical glitches remaining to deal with.
For the sound glitches I am currently working on an interface to Audio::Mixer which will return the AudioStream (or even just the sample buffer) associated with a sound handle, as this will allow engines to get the streams of their active sounds, in order to dump the buffers out to file.
For the graphical glitches, Jakimushka (another student) has already commited code that saves a 16/32 bit screenshot of the display surface, which I intend to make use of to save/restore the graphical state, as soon as the pull request goes through.