Added mutexes to DataManager to make it thread-safe.
Done in preperation for background-loading of assets
Added struct, mutex, and map for ToolboxData, which contains only
the information needed in the toolbox.  This allows us to speed up
background loading by only loading the toolbox image, while background
loading everything else
Added background loading code which starts loading the mesh, docking ports, etc
in the background while returning directly to the toolbox to speed up
initial loading
Converted toolbox code to use ToolboxData so background loading works
Added video driver mutex, as the Irrlicht video driver is not
multithread safe, so this is to globally protect it in a mutex
Added protecting mutex lock/unlock code whenever a piece of the code
touches the video driver