add Cabal, and Class and ClassModule have its prefix structure. eliminate
all haskell prefix in function-call accordingly
prefix for c header/cpp files designated by Class data structure
change CppClass String to CppClass Class, merge Type/CTypes, Type/Method
into Type/Class
typemacro generalization when generating Type.h