Make DeviceMonitor::add_filter return an Option
The docs for gst_device_monitor_add_filter say that it returns "the id of the new filter or 0 if no provider matched the filter's classes". Right now it's really easy to miss this check and pass the value 0 to DeviceMonitor::remove_filter, which causes a critical warning to appear. It would be nice to have the type system prevent this situation from occurring.