Hi. You asked
There is some third-party software that seems to work with the specific Z6 camera - how is it they are able to access the video stream from the camera via USB without using a vendor specific driver ? Is there some other way to access the device directly from within an application ?
You can use the user-space USB APIs to access any USB device (see IOKit/usb/IOUSBLib.h). Even class-compliant devices can be accessed if you write a codeless kext which outmatches the system's driver. Apparently code-less dexts are also possible, but I don't know if they will be matched at boot time, so you might have a hard time if you want to directly access a keyboard or a mouse.
The only downside to this approach is that the data from the camera would only be visible to your process, it isn't generally available to the system. To partially solve this, you can build a CoreMedia IO plugin, which is loaded into other processes. Your plugin knows how to communicate with your app, and uses some form of inter-process communication to get the frames from your camera-controlling app. CoreMedia IO plug-ins don't work in apps like Photo Booth which do not allow loading of third-party plug-ins.
Another way to make a vendor-specific camera widely available would be to write a kernel extension which changes the way it responds to Get Descriptor calls and they way it vends data, so that it appears to the system like a UVC device. It may be possible to do this with a dext.