* chore: Rename scripts to tools folder and unify argument parser
* refactor: Centralize dataclasses in types.py and add __call__ to all models
- Move Face and result dataclasses to uniface/types.py
- Add GazeResult, SpoofingResult, EmotionResult (frozen=True)
- Add __call__ to BaseDetector, BaseRecognizer, BaseLandmarker
- Add __repr__ to all dataclasses
- Replace print() with Logger in onnx_utils.py
- Update tools and docs to use new dataclass return types
- Add test_types.py with comprehensive dataclass testschore: Rename files under tools folder and unitify argument parser for them
* chore: Style changes and create jupyter notebook template
* docs: Update docstring for detection
* feat: Keyword only for common parameters: model_name, conf_thresh, nms_thresh, input_size
* chore: Update drawing and let the conf text optional for drawing
* feat: add fancy bbox draw
* docs: Add examples of using UniFace
* feat: Add version to all examples
* feat: Update linting and type annotations, return types in detect
* feat: add face analyzer and face classes
* chore: Update the format and clean up some docstrings
* docs: Update usage documentation
* feat: Change AgeGender model output to 0, 1 instead of string (Female, Male)
* test: Update testing code
* feat: Add Apple silicon backend for torchscript inference
* feat: Add face analyzer example and add run emotion for testing
- Add new test files for age_gender, factory, landmark, recognition, scrfd, and utils
- Add new scripts for age_gender, landmarks, and video detection
- Update documentation in README.md, MODELS.md, QUICKSTART.md
- Improve model constants and face utilities
- Update detection models (retinaface, scrfd) with enhanced functionality
- Update project configuration in pyproject.toml