Refact and make pdf work again

 * Added pdf-text-mapper (previously from Annotator's PDF plugin),
   which is a descendant of PageTextMapperCore
 * Some common code from DomTextMapper has been moved into a new class,
   TextMapperCore, which is now the common ancestor for DomTextMapper
   and PageTextMapperCore.
 * PageTextMapperCore has been updated to follow the API changes
   brought in by the automatic DOM change tracking and the async API.
 * PdfTextMapper has been updated to follow the same changes.
 * Cosmetic changes all around the place

All in all, this gets PdfTextMapper functional again, and thus fixes #30.