Simplify the API to one method, read_one_char

Removing the ridiculous EOF error stuff, and just return
nil once the IO is depleted.