SF: Extract utils::OnceFuture

Make `mRenderEnginePrimeCacheFuture` thread-safe and release its shared
state after the wait.

Bug: 328459745
Test: presubmit
Change-Id: I2bf3029823109a8c97e599d20c15e46ac1e4aeb9
3 files changed