- Introduce `SubtitleDeduplicator` into NewPipeExtractor; subtitles are now cached locally.
- Add support for `file://` protocol to process local subtitle files (e.g., file:///storage/emulated/0/Android/data/<package_name>/cache/subtitle_cache/<cached_TTML_subtitle_name>) instead of remote URLs.
- Separate handling of local and remote subtitle in `run()` for better clarity.
Note: After calling `SubtitleDeduplicator.checkAndDeduplicate()`, all YouTube subtitles are local.
- Clarify the early return logic for single-URL subtitle download.