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 a language class 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.