Adds QR code generation (issue #15)