Now what have I embarked on?
Short history... There was an idle query on the "se-lispers" mailiing list, if there was any VM-based Common Lisp, since a VM-based Smalltalk environment could have extremely convenient stuff (like, say, teh ability to save all windows and then re-display them when the image is next restarted).
Consensus was "No, there isn't one" and I mumbled something along the lines of "but... well... one would get at least that functionality with a wrapper library..." so I am now heading down the route of writing an ugly hack to wrap around CLX so that one can save a core image and then (when the core is loaded) call a single function to restore all windows (taht, alas, means restoring all gcontexts, fonts, possibly pixmaps and screen and all sorts of fun & games).
It is slowly taking shape, I have written three macros to generate glue functions (one for functions creating/opening new windows/pixmaps/displays/screens/fonts; one for functions using them and one to wrap around return values (the latter is semi-ugly, since I have far less knowledge of what actually happens there)).