--------
Changed
~~~~~~~
User experience
===============
- overhaul the :code:`TestHandlerView` to be better oragnized
- overhaul the :code:`EvaluationWindow` to be better oragnized
- setting labels for each :code:`Test` is now handled in the :code:`EvaluationWindow`s' "Plot" tab
- updated docs
- ensured exported plot dimensions are always uniform
Performance
===========
- updated the :code:`TestHandler` to poll for readings asynchronously
- updated the :code:`TestHandler` to be more robust when generating log files
- minor performance buff to log processing
- minor performance buff to the :code:`LivePlot` component
- minor performance buff to :code:`Project` serialization
- minor performance buff to reading user configuration file
Data handling
=============
- the :code:`Project` data model now records calcium concentration
- updated the :code:`Test` object model to handle the :code:`Reading` class
- updated the :code:`Project` object model to be more backwards compatible
- refactored data analysis out of the :code:`EvaluationWindow` and into its own :code:`score` function
- calculations log is a bit more verbose now
- updated :code:`score` function to handle the :code:`Reading` class
Misc
====
- update all :code:`os.path` operations to fancy :code:`pathlib.Path` operations
- update all :code:`matplotlib` code to use the object oriented API
- fixed some lag that would accumulate when displaying log messages in the main menu
- lots of misc. code cleanup / reorganizing