Generator: tests: clean up tests.
Generator: add the logger.
Extension: integrate a logger with our generator.

Integrate the logger instance with our PDF Generator.
PDFGenerator: implement Snappy interface.

Implement the Snappy Generator Interface. This way we can use our
generator in other applications where the Snappy Generator is required.
Changelog: update changelog.