give the first read a delay also

this seems to fix the issue where changing levels would read nothing the
first time. if nethack sends something, then sends something else,
typically at least the first thing it sends would make it to the kernel
buffers, and so it would read that and then delay to read the rest. with
changing levels, though, there is just a delay and then sending the
full data, and so reading with no delay doesn't have anything to return,
and so it never got to the select loop.

also, the select loop wasn't actually necessary, because
IO::Pty::Easy::read already has a select loop in it.

also, make sure that a read of '' or '0' isn't treated as the end of the
input, although i don't think that's quite as relevant