CameraDeviceManager
Manages available camera devices on the system.
This class observes both:
Camera availability changes reported by CameraManager
USB camera attach / detach events
and keeps an up-to-date list of CameraDevice instances exposed via deviceList.
Call release when this manager is no longer needed to unregister callbacks and receivers.