I've tried doing this with a subdivided plane and shrinkwrapping it to a model, then applying it as a shape-key. Unfortunately, I tend to get a lot of jagged edges and spikes in the plane when the face is extending out - and often, the resemblance to the original model is quite faint.
Does anybody have any tips or suggestions for making this look good? Could really do with the advice, have been hacking at this for some time now. =/