Decouple the system that holds references from base Resource class to ResourceLibrary. ResourceLibrary is only for GameResource, this was the only way it was being used and it makes no sense for normal Resource to be there.
Precaching keeps strong handles of native resources( mainly so we can NetRead them.. ), never add GameResource to precache stringtable (they're always loaded)
Texture.Load behaves better and doesn't try to cache a not found file
Comment these out, need to figure out ResourceJsonConvert (this is just for GameResources again?) w/ ResourceLibrary, and probably make another ResourceLibrary for Sandbox.Tools