* BREAKING CHANGES:
* QR code options have been factorized and now use the `QRCodeOptions` class.
* The context for rendering a QR code encoding a Wi-Fi configuration uses the dedicated `WifiConfig` class.
* The context for rendering a QR code encoding a contact detail uses the dedicated `ContactDetail` class.
* `qr_for_contact` and `qr_url_for_contact` keyword arg has been renamed from `contact_dict` to `contact_detail`.
* `qr_for_wifi` and `qr_url_for_wifi` keyword arg has been renamed from `wifi_dict` to `wifi_config`.
* Reorganize code and split qr_code.py into several modules.
The changes mentioned above might break the compatibility with code using qr_code.py's API directly, but template tags are not impacted, except for `qr_for_contact`, `qr_url_for_contact`, `qr_for_wifi`, and `qr_url_for_wifi` if they were using a keyword argument.
* Other changes:
* Added support for `error_correction` parameter when generating a QR code.
* Added support for `coordinates` keyword argument to `qr_for_geolocation`, `qr_for_google_maps`, `qr_url_for_geolocation`, and `qr_url_for_google_maps`.
* Additions to documentation.
* Added ability to use a `QRCodeOptions` instance with `options` keyword argument in all tags.
* Bug fixes:
* Fixed non-closed <img> tag when generating embedded PNG image.
* Escape colon char (':') if it appears within a contact detail or a wifi configuration.
* Add a second terminal semi-colon at the end of the text representing a wifi configuration, as recommended in some sources.