Readline

Tested and works great on all sorts of linux and osx terminals.  Probably should test on windows since libuv is very different there.