Add FileDescriptorIO#read_nonblock

Turns on non-blocking mode on the fd, reads up to length bytes
currently available and returns them as a String. Returns Nil if
0 bytes were read. Turns of non-blocking mode afterwards.
Start io/console

First rough implemention to make cooked and raw terminal mode
available. Probably only works on Linux.
Add 2048 sample