Refactored image downloader into separate pluggable entity.

Allows you to use your own method to retrieve images.