Assetmanager instances

- SSAssetManager overhauled
- Implements a simple caching mechanism
- SSAssetItem removed
- Interaction with the class simplified, consists of using static functions and the Context class:
-- Context class, used outside of SSAssetManager only when passed to constructors for classes that call Open(string filename) on it to get stream
-- RegisterLoadDelegate<T>(LoadDelegate dlg)
-- GetInstance<T>(SSAssetManager.Context context, string filename) or GetInstance<T>(string context, string filename)
-- DeleteInstance<T>(Context context, string filename)
-- AddAssetArchive(ISSAssetArchiveHandler handler)