Don't try to use canvas for editable text. HTML5 Canvas is full of instantly-drying pixels. (For more info, read this answer of mine.) Instead, place editable text over your canvas, positioned as you like.
Demo: http://jsfiddle.net/DUxAL/
…
You can use CSS to style your or how ever you want.