Rukiri : I have some code laying around to have a mode 7, but since I'm sinking in the amount of work I'm currently comitted to, I think you are going to finish it before me.
My suggestion : don't do any calculation xith the Canvas itself. It's going to be too slow. Use a CSS3 3D transform, by extracting live the graphics from a Sprite, pasting it in a <div> setting the Perspective projection, and having the Sprite skewed and sheared automatically by the GPU.