Minor release.
New features
* Implementation of dynamic integration time (NUTS-like) samplers has been refactored, with new implementation including both existing multinomial, and a new slice sampling, variants, with the latter corresponding to the original NUTS algorithm. An option to enable extra subtree termination checks to create more robust no-U-turn checking (see https://github.com/stan-dev/stan/pull/2800) has also been added, and enabled by default for the `DynamicMultinomialHMC` sampler.
* When used with Numpy v1.17 or above, Mici will now by default use the new-style random number generators for per-chain RNGs, with the new objects supporting more robust production of independent parallel random streams.
* Documentation of classes in `mici.systems` module is now much fuller.
* An option to disable display of progress bars when sampling chains was added.
* Display refreshes of progress bars rate limited to ~ 4 times per second to prevent the display updates becoming a bottleneck for very fast chains.
* Steffensen's method fixed point solver made more robust.
* Further matrix classes added to support low-rank update matrices and specialised matrix product classes, and matrix classes extended to be hashable to allow equality testing.
* Improved robustness to linear-algebra errors during sampling, with NumPy / SciPy `LinAlgError` exceptions when attempting Cholesky decomposition of non (numerically) positive definite matrix now handled rather than halting sampling.
Bug fixes
* Fixed bug in log determinant gradient implementation for triangular factored definite matrix classes.
* Fixed bug when integrating Gaussian constrained system with large timestep due to prior incorrect assumption of all eigenvalues of matrix being positive.