Add forward declaration for compound types
Add default designated initializer handling for structures. The values of the members are collected in order
to build a default designated initializer, that can be retrieved through C.Struct.designated_init() method.