http://caniuse.com/#search=contenteditable
* https://accessgarage.wordpress.com/2009/05/08/how-to-hack-yo...
* https://blog.whatwg.org/the-road-to-html-5-contenteditable
* http://www.quirksmode.org/dom/execCommand.html with test page: http://www.quirksmode.org/dom/execCommand/
The text font rendering in Canvas2D is slow. For example the Canvas based charting library Flot use HTML Divs overlays instead of Canvas font rendering: http://www.flotcharts.org/flot/examples/ (last link)
Another method would be WebGL.