Hide callbacks instead of skipping when they are marked as not introspectable
If these are completely missed on generation, we might miss some types needed for some fields or parameters. So mark them as hidden instead fixes this issue.
Fields are no longer skipped when there is already a method or property with the same name
Skipping is dangerous in this situation, since the field might be needed for struct alignment. The field will be renamed to Name+Func if the type is a callback (this is the most common name collision) or Name+Field in all other cases.