labelling changes
- minor additions to particle types and physics processes in standard semantic labelling
- added new neutrino flavor event labeller
processing changes
- hit graph processing:
- number of nexus nodes now stored as `num_nodes` attribute instead of empty feature tensor
- changes to truth labels: instead of storing truth labels as `y_f`, `y_s` and `y_i` for filter, semantic and instance labels respectively, we now only store `y_semantic` and `y_instance`. instead of being masked down to only the filtered hits, they are now stored for every hit, and filtered hits are assigned a label of `-1`, which is then filtered during loss calculation using `ignore_index`. the filter labels are now generated by generating a boolean mask, ie. `(y_semantic != -1).float()`.
- updated `labeller` to `semantic_labeller` and added additional `event_labeller` option
other changes
- added `plotly` dependency for graph plotting
- added readthedocs documentation