Merge "Use std::shared_future to pass Surface from the render thread" into main