adjust use of tileset save method to take string path
fix crash bug in parser
some refactoring of io stuff and a tileset factory