Improve processing of /dev/stdin input

Currently, one of the most common use cases is:

  tail -f my.log | em CRITICAL red

However, if my.log file doesn't grow fast enough, em
will block in fread(3) call, producing no output until
fread(3) fully reads requested number of bytes (8192
for CPython 2.7).

Unlike fread(3) libc function, read(2) syscall returns
immediately after some data has been read (even if more
data was requested). This allows em to handle /dev/stdin
input as soon as it becomes available.
Merge pull request #1 from malor/stdin_reading

Improve processing of /dev/stdin input