把 comint 和 vterm 作为一个抽象的 backend 实现即可,用户可以自己选择使用不同的 backend。即使不用 vterm 也可以考虑 eat,这个是纯用 lisp 实现的一个全功能的的终端。