feat: start using crud stores
- Backend
- Move training programs and groups under /department/{dept_id}/...
- Improve serializers
- Prepare for single-parent groups
- Improve query performance with better queryset select/prefetch related
- Frontend
- Start using CrudStores for departments, training programs, structural and transversal groups
- Introduce an EntitySet object that behaves like a Set but also has some properties of a Map, to be used instead of a plain array
- Improve reactivity performance and add tests for ensuring reactivity behaves as expected
- Rework columns creation and handling using a composable based on new entities
- Add temporary patchwork to keep old code when it is too complex to get rid of as of now
- Add drafts for user permissions and roles based on the new (private) documentation
- The comments and some of the permissions mentioned are not from the doc but serve as proposed amendments
- maybe some other minor tweaks I forgot to mention