QR code: return error images instead of strings
UI and message improvements.