Refactor `provide_file_decoration` to return a `Promise` resolved by `event_loop`

Sets up the groundwork for more Providers to use a request-based model that sends a JsDeferred to the event loop. This should hopefully be one of the last major changes before fully migrating to the event loop model.

Created by  finchie  on January 1, 2026
3RNQI5RXZMXF5N2WKYS3O3G2GTD4TTWDNQ3EBVGUVVKNNOTKQTJAC
Change contents