Release 1.5.0 - 19.07.2022

NEW FEATURES
- Introducing `dv::SparseEventBlockMatcher`, a class which efficiently performs stereo depth matching on sparse
  set of coordinates among two calibrated stereo streams. It estimates disparity between two event streams by sparsely
  accumulating only the regions of interest to reduce computational complexity.
- New implementation of Contrast Maximization, see documentation at docs/source/contrast_maximization.md.
- StereoGeometry: introducing `unmapPoint` method which transforms coordinates from undistorted rectified pixel space
  into original camera pixel space.
- Samsung EVK is now supported in `dv::io::CameraCapture`
- `dv::io::CameraCapture` introduces new methods to get and set timestamp offset.
- Introducing `dv::io::CameraInputBase`: an interface class to abstract live camera and AEDAT4 recordings with
  a common interface.
- Python: NumPy accessors for data.
- Python: support for pip install via setup.py, see docs/python-installation/ubuntu.md.

BUG FIXES
- FilterChain: ignore empty packets during time monotonicity check.
- CameraGeometry: fixed a bug which caused incorrect `distort` method results with RadTan model containing 4 parameters.
- StereoEventStreamSlicer: fixed failed synchronization in case when right camera data is forward in time with fixed
  offset. Accept now supports optionals also, making it easier to use directly with camera input.
- MeanShift clustering: making low level functions available, so users can access intermediate results from clustering.
- CalibrationSet: fixing a crash while parsing V1 format invalid XML calibration files, throws an exception instead.
- Adding convenience methods to access timestamps, coordinates, and polarities as Eigen (C++)/NumPy (Python) arrays.
- Adding missing packet data types for more convenient IO operations in python.
- Adding samples of reading / writing live cameras.
- `dv::PixelAccumulator` now return `-1` timestamp when no events were passed into accept.
- `dv::Accumulator` generates identical output when called `generateFrame` without passing data.
- CameraGeometry: `undistort` method returned incorrect result if used with floating point coordinates.
- CameraGeometry: minor performance improvements.
- PixelAccumulator: decay is now applied before accumulation, decay values are now interpreted within [0.0; 1.0] to
  simplify the approach.
- `dv.io.discoverDevices()` is added to Python bindings.
- Adding missing constructor for `dv.io.MonoCameraWriter.Config` class.
- Adding `dv.io.StereoCameraRecording` in Python bindings.

BACKPORTED BUG FIXES
- dv::io::ReadOnlyFile: more robust detection of corrupted/incomplete files.
- dv::io::ReadOnlyFile: when reading an empty file, an exception was incorrectly thrown.
  Now, the empty file will correctly be opened and returned with no content.
- Python: added missing isEventStreamAvailable(), isImuStreamAvailable() and isTriggerStreamAvailable()
  functions for CameraCapture.
- StereoCameraRecording: fix inconsistent usage of std::string instead of fs::path in constructor.
- CMake: fixed detection of LZ4 and ZSTD libraries in multiple environments.
- CMake: fixed detection of custom boost in cross-compile environments.
- CMake: fixed compiler check.