Remove buggy done optimization

`ReaderCharacterSource` has this optimization tentative for determining when it's done.

This might be working with some Reader implementations, such as `CharArrayReader`, but clearly doesn't with some others. For example, InputStreamReader use an internal 8k buffer, so as Boon buffer is 10k, so this condition is always matched, causing done to be set way to early.

The only reliable way to determine done is to stick to Reader specification and watch for a -1 length.