A line editor in Scheme, inspired by http://www.cliki.net/linedit