* Add CommandList.SetBufferData
* SpriteBatchSceneObject use CommandLists + make thread safe
* Make ScenePanelObject threadsafe
* SceneObjects ExecuteOffTheMainThread by default
* Remove ExecuteOnMainThread = false, assignments since it's now default
* Add Data4 entry to CommandLists allows us to store matrix
* Migrate TextRendering to CommandList
* Migrate Gizmos to CommandList
* Migrate LineRendering to CommandList
* ScenePanel uses CommandList
* Clutter uses commandlist
* Debug SceneObjects use commandlist
* Use CommandList.SetBufferData for sprites and lines
* Fix SceneLineObject using wrong attribtutes to draw
- TextRenderer.TextSceneObject — world text component
- DebugTextureSceneObject — debug overlay textures
- DebugTextSceneObject — debug overlay text
- DebugSphereSceneObject — debug overlay spheres
- SceneMapLoader.TextSceneObject — map world text entities
- LPVDebugGridObject — light probe debug grid
- ClutterBatchSceneObject — clutter instanced rendering
These ones are not as simple:
- ScenePanelObject - so much UI shit wasn't thread safe before, but should nwo be ...
- GizmoInlineSceneObject
- SpriteBatchSceneObject - lots of non concurrent dictionaries around here (needs a commandlist approach)