Rework of asset loader module
The current asset loader (#79 (closed)) works but it's far from perfect. In multiple cases the API is inefficient or gets in the way by not providing helpful options.
Here's a list of issues I collected over time which needs to be addressed:
I suggest an abstraction layer with a class for each type of asset (Texture and Mesh) which can be retrieved by Loader-instances depending on the format of the underlying resource (memory or file). Then Converter-instances can be linked directly to the Loader-instances to execute in asynchronous manner. If possible such an API could be extended to allow loading any kind of resource via a directed graph structure (potentially adding shader compilation and pipeline creation later on).
Such a directed graph would allow processing independent paths in parallel via multiple threads without running into race conditions.