Addons can define their own streams for resources

This is necessary to allow addons to provide textures that aren't shipped with the addon. Goes with https://github.com/ObsidianBox/Magma/pull/6