UVC device updates
implement null device, simplifications to inheritance model (following c++11 standards)