I skimmed through the MagicEyes documentation, and it looks like it can do multiple surfaces together, including alpha-blending. Is this any use at all, or is it too general?
I was hoping it might actually do almost all of it, until I think you mentioned that people could change the pallette...