Generate unique function names

Function names contain the type of arguments to avoid duplicate functions definition
Write enum parameters type correctly
Generate better names for Dylan types
Don't write code for containers
Generate valid C function names

We need to replace "-" with "_" for types like "C-int" etc.
Use void * as a superclass only if there are no superclasses
Format superclasses correctly
Make generation of QThread bindings optional
Append an underscore to arguments name
Use void pointer in place of containers
Generate better names for enums
Export enums
Dylanize pointers name
Decide which generator to use at compile time