render QR code locally, instead of relying on a web service