A HTML 5 editor for modern browsers, fully implemented in Dart without contenteditable