Clear the image first

In an attempt to reduce flickering, clear the image while it is loading.
Refactor to class ImageLoader

The class detects duplicate attempts at loading the same image in the
same ImageView, but that didn't fix the problem. What's causing this
then?