Adds cv2.QRCodeDetector-based QR reader that subscribes to all four IMX219 CSI camera streams, deduplicates detections with a 2 s per-payload cooldown, and publishes /saltybot/qr_codes (QRDetectionArray) at 10 Hz. New QRDetection / QRDetectionArray messages added to saltybot_scene_msgs. 16/16 pure-Python tests pass (no ROS2 required). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>