Backbuffer and transitionend only when there are tiles

When an application zooms the map programmatically right after
initialization, there will be an empty backbuffer. This should be avoided,
because it adds an unnecessary DOM element.

The tile.onLoadEnd handler registers a transitionend listener on the image
of the last loaded tile. But if loading was aborted, there will be no
image. The new logic registers the transitionend event on the last child
of the layer div, which is not necessarily the tile we're handling loadend
for. When the backbuffer is empty (i.e. no tile was loaded at the time the
backbuffer was created), it will be removed immediately.
Use the last child of the container only if loading was aborted

Otherwise we may pick a tile that is already half way through the
transition, which will cause the backbuffer to go away too early.
Merge pull request #920 from ahocevar/backbuffer-conditional

Backbuffer and transitionend only when there are tiles. r=@bartvde