proper sprite-map caching, fixed locks on spritemap read access