added an untested hashtable for recognizing typenames
fixing typedefs and adding struct/iface members.

I am confused about whether structs should only contain
function definitions (types) or potentially function declarations
like a 'class' in object oriented languages.