Move the pending scene data structure to the scene builder thread.
With this change the render backend only sees the state of the scene that it can use for frame building and the scene builder thread manages its own scene. This will allow us to perform low priority scene building and rasterization asynchronously without having to involve the render backend thread.