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)