A small self-contained alternative to readline and libedit