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.

Future work based on this PR will add better class namespace support for C++ code generation.