tilemap needs to take into consideration size of tiles
removed internal header struct, re-implemented stride guessing