libtiled-java: Added support for caching tilesets

For example, when reusing the TMXMapReader to load several TMX files
that all have the same tileset definitions, the loader does not have to
load the tileset images several times, thus making the loading process
much faster.