Moved most of PdfReaderReceiver into the mixin ReceivesTextRuns.

This separates the implementation of keeping track of text state from
the policy of what to do with the text, and makes it possible to write
a custom PdfReaderReceiver without duplicating library code.