Thread support for background resource preparation. This means that resource data can streamed into memory in the background, but the final resource
construction (including RenderSystem dependencies) is still done in the primary thread. Has a lower synchronisation primitive overhead than full threading
while still allowing the major blocking aspects of resource management (I/O)