rework the image cache, and fix the plumbing so we can localize resource uris