Currently only blocking read/write operations are implemented. A
blocking write must transfer at least one character. It should not wait
for the device for the second character and so on.
Close#2917.
Call the receive callback in case a read will succeed without to block.
This enables the use of the receive callback for a poll() and select()
support. Increase raw input buffer size to allow buffering of one line.
Close#2916.
In case carriage return characters should be ignored in the input
(IGNCR), then drop them early before they reach the raw input buffer.
This makes it easier to calculate the content size of the raw input
buffer.