xsd-fu: Split fu.py into separate modules

The new modules live in the `ome.modeltools` namespace.  The static configuration in `fu.py` has been moved into
`ome.modeltools.config`.

The splitting also introduces an `ome.modeltools.language` package which permits the support of multiple languages, removing the existing largely hardcoded support for C++ and Java; all language-specific logic is delegated to the language class.

This PR does not introduce any generated source changes.  This should be indicated by the bioformats merge build not becoming unstable.  To verify by hand, compare the output of `components/(ome-xml|scifio)/target` and `cmake` before and after merging.  There should be no change to the output.

Future work based on this PR will add better class namespace support for C++ code generation.