Refactors ImageManager as a basic impl of ImageLoader

- ImageManager isn't an image manager! Let it implement ImageLoader (api for main functionality) as it's the main entry point for the project