stream stdin instead of buffering

selecta buffers its entire input before kicking off the UI event loop,
which means that if it takes, say, three seconds for selecta's input
process to finish, the UI will be unresponsive during that time. With
this change, stdin and the TTY are both monitored in separate threads,
and the main thread starts handling keyboard input right away and
regularly refreshes the list of choices based on the stdin stream.