breaking changes:
- expire_session changed from sync to async (needs await)
- ONVIF_event_callback returns list of channels instead of single channel
Changes:
- close connection on expire_session
- always use GetMdState instead of GetAlarm
- remove motion_detection_state update from GetAlarm
- only request GetAiState if it is supported
- ONVIF callback return ch list and do not poll if AI not supported
- reorganise supported capabalities
- Improve api_version and supported methods
- Use specific queries instead of get_host_data
- move GetOsd from get_states to get_host_data
Full Changelog: 0.3.4...0.4.0