This won't work. You have three devices that all speak different video formats:
The camera outputs a data stream of JPEG images. You don't have the horsepower to decode this in real time via the Arduino.
Serial LCDs take pixel data as a source. They can't use a JPEG stream, so you can't just read the camera and send it to the LCD. Even if it did accept JPEG data, you wouldn't be able to overlay without decoding, mixing, and encoding. Waaay too much work for the Arduino. Also, there's not enough bandwidth to stream video (as bitmap data) via serial at any reasonable framerate, so it's only good as a graphics display -- not video.
Regarding the video shield, I seem to remember reading that it can take snapshots of video, but it can't run real-time streams through the Arduino. (Again, too much data.) I think it has an onboard video mixer, so it can overlay graphics, but only as a pass-through device. I.e., it uses composite analog video, not a digital data stream.