lightweight gnu readline alternative written in c