New Features
--------------
- Implement `overwrite_project`
- Implement workflow (custom runnable functions) architecture.
- Functions to measure local radii.
- Record monomer mapping offsets after calling `align_averaged`.
- Implement some specific widgets (CheckBoxes, RandomSeedEdit etc).
- New methods for analysis with project object.
- Improvement of binding potential model. Add angle constraint to annealing model.
- Implement backend low-level API for Viterbi alignment and annealing.
Changed
----------
- fix workflow.
- Refactor config.
- Refactor non-recordable methods to child widgets.
- Do not use projection to determine peaks in local DFT.
- Calculate projection images lazily for performance improvement.
- Use `list[T]()` since python<3.8 is dropped.
- Record window size of local properties.
- Mask irrelevant requency during `infer_polarity`.
Bug Fixes
-----------
- Project description was not initialized.
- Fix displacement of cylinder model.