Clojure-based Text Editor in the tradition of both Vi and Emacs