LocationAwareReader: change return type of read from int to Optional<Character>.