Add tileClass option to ImageTileSource

It is now possible to have your own custom image tile
implementation that is used by the ImageTileSource.
That makes it possible to load you image in a custom
way, for example asynchronously.

Or the image might not come from an HTTP source but
from a local storage like IndexedDB.

Eric Lemoine did the original hard work, I just fixed
the missing parts.