Take pixel size returned by the source into account

This change allows sources to handle tiles with a different resolution
than the one reported in #getTileImageSize(). This allows us to use
services that provide HiDPI tiles.