Implement the task source API for the File Reader task source, enabling using task sources from non-main threads. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix (partially) #7959 (github issue number if applicable). - [X] These changes do not require tests because they're refactoring existing code Source-Repo: https://github.com/servo/servo Source-Revision: 48a912f57ec51e55e7905983b2bf368a07a9902f