I know that Adobe After Effects can do this and I've used it before - http://www.adobe.com/au/products/aftereffects.html
Basically you can create layers using shapes or images you import into the program. From there you can set keyframes and animate them to move, scale, fade in or out. It's an extremely powerful program, even has a 3D engine.
Be warned there is quite a learning curve. You might be better off outsourcing it to a specialist.
Hey thanks for the reply PicNet . Well I may have to do that. Do you know of any free programs where I can basically work on the learning curve of this type of video editing in general. I'd like to have a crack at it first before I shell out for Adobe After Effects or outsource.