Address port opening problem on OS X.

Open port with O_NONBLOCK, then immediately configure back to blocking
mode. Without these settings, the serial port is unusable in Mac OS
X (tested on version 10.7).
Use fdReadBuf for receiving bytes.

Don't decode into a String then repack into a ByteString.