Modernized the project internals: migrated from setup.py to pyproject.toml, adopted uv, and switched linting to ruff. Removed spacy and sense2vec support due to stale dependencies. Also fixed sentence-transformers compatibility in the SentenceEncoder tests and fixed batched so it yields batches instead of individual items.