Web Vim powered by JavaScript