extracted scrolling functionality into OffsetTiledImage and adjusted TiledImage slightly to accomodate it