Tileset::Parse() needs access to the map to get its filepath, so added a Tmx::Map* parameter that is sent during parsing. This way the user can specify any path and the source will know how to fetch it