refactoring: use a LRUSet instead of a LRUMap for tile cache