Backbuffer may be an old one, so use className instead of reference
Now fixing Chrome issues for real

There are actually two issues:

1. img.src returns an URI encoded URL,
and img.getAttribute('src') returns the src as it was set, so it can be
compared with the current url.

2. Calling onImageLoad in a separate cycle seems to confuse the loading
sequence in Chrome. By moving the equivalent url check to setImgSrc, we
have a cleaner logic and do not have to simulate an asynchronous load
sequence, because we only set the src when we need to because it is
different.