Allow overriding the QR Image factory.

This way if PIL/pillow is available PNG images can be used, etc.