HTML5 + JavaScript text editor with inspiration from Emacs and Vi