Adding a Map type and MapAnnotation

Add a new Map type that is then used for generic light source and map annotation, updating xsd-fu to handle the new type and tie it in to the underlying Java and C++ map objects.

--exclude
[Not yet completed]