Addition of optional scaling and a callback on load completion

I've added the option to specify a 'scale size' when you create the ImageLoader - I found that in some cases the default scale size was too small, especially when I was loading an image that I wanted the user to be able to pinch-zoom on.

I've also added a very basic callback, so that callers can be notified when the image has finished loading.

These changes should not break any existing code, as all the original method signatures are intact, with existing behaviour.