API changes (fixes inconsistencies in API):
* Moved `guidata.dataset.iniio.WriterMixin` to `guidata.dataset.io.WriterMixin`
* Moved `guidata.dataset.iniio.BaseIOHandler` to `guidata.dataset.io.BaseIOHandler`
* Moved `guidata.dataset.iniio` to `guidata.dataset.io.inifmt` and renamed:
* `UserConfigIOHandler` to `INIHandler`
* `UserConfigWriter` to `INIWriter`
* `UserConfigReader` to `INIReader`
* Moved `guidata.dataset.jsonio` to `guidata.dataset.io.jsonfmt`
* Moved `guidata.dataset.hdf5io` to `guidata.dataset.io.h5fmt`
Bug fixes:
* [Issue 57](https://github.com/PlotPyStack/guidata/issues/57) - [Errno 2] No such file or directory: 'doc/dev/v2_to_v3.csv'
* [Issue 58](https://github.com/PlotPyStack/guidata/issues/58) - Test suite: missing dependencies (pandas, Pillow)
* Modules `guidata.dataset.datatypes` and `guidata.dataset.dataitems` should not
critically depend on Qt (only modules specific to GUI should depend on Qt, such
as `guidata.dataset.qtwidgets`). This was a regression introduced in version 3.0.0.
A new unit test was added to prevent this kind of regression in the future.
* Fixed documentation generation `.readthedocs.yaml` file (Qt 5.15 was not
installed on ReadTheDocs servers, causing documentation build to fail)
Other changes:
* [Pull Request 55](https://github.com/PlotPyStack/guidata/pull/55) - DateItem and DateTimeItem: added 'format' parameter for formatting, by [robochat](https://github.com/robochat)
* Packaging: still using `setuptools`, switched from `setup.cfg` to `pyproject.toml`
for configuration (see [PEP 517](https://www.python.org/dev/peps/pep-0517/))