Keep a reference to the image URL

Currently it's impossible to verify that the image view is showing the correct image when it's loaded from a URL. This makes it hard to test code that interacts with this category because it's impossible to verify that the correct URL was loaded.

This PR uses associated objects to keep a reference to the set `imageURL`. Before I add this to the other categories I'd like to know if people agree with this approach.