New try of Gtype_decl macro

However, I want to put back g_type declaration inside get_type_decl, it seems the easiest way to avoid redeclare g_type(Widget subtype), (it does't do any harm, but suppressing redefinition warnings is nice)