Increase the use of native names in generated code. A
native name is the one used in Felix. Currently native
names are always used in structs. They're used in
functions iff that name is globally unique. They're
only used for typenames if the type is a simple C
primitive.
Capability may be improved by greater use of C++
scoping techniques, such as namespaces and nested
classes, as well as enhancing the detector to
understand where a name will be localised instead of
requiring global uniqueness.