Add handling of cached images

A browser cached image might not trigger the onload event or we might not catch it in time.
Using Image.complete to set _isLoadingImage handle that edge case.
Clean abstract image specs
Fix specs to work in a cached environment
Merge pull request #1419 from 3on/cached-images

Add handling of cached images