pub fn hash_file(path: &Path) -> Result<Hash, Error>
Compute the BLAKE3 hash of a file by streaming it in chunks.
This avoids loading the entire file into memory, which is critical for multi-gigabyte media files.