new class (XMLWriter) and inventory overhaul cont

- new class XMLWriter
-> writes tags with various properties
-> probably will be replaced by an XML lib at some point but for now its
useful for implementing a map editor and saving/inventories
- new test map, slightly larger with more floors/rooms
- removed rooms having the ability to have custom filepaths
-> not needed as filenames are generated by name + coordinate

note: clients non functional in this commit
updated XMLWriter, inventory overhaul cont

- XMLWriter now tabs code like a pro
- XMLWriter now features:
-> opening tags without closing (eg roots, containers)
-> closing tags that weren't opened in the same line (for above)
-> opening and closing a tag in the same line
-> adding one or more attributes to a tag (or element if you want to use
proper terminology)

despite how much easier it would have been to just use an XML library,
XMLWriter will still be very useful for inventories and map making