Disable direct ivar access warnings.

These are enabled with -Weverything; the code makes heavy use of direct
ivar access.
Add a work-around for sizing of bitfield elements.

This avoids compilation issues due to the bitfield type being too small
to hold a large bitfield (eg, int field:62 exeeds the capacity of int).

Ideally we could determine and output the actual field type; this
appears to be impossible with the NeXT bitfield type encoding. The NeXT
encoding does not include a type for the actual field, and the field
type can not be surmised by summing the total width of consecutive
fields and rounding to the nearest power of two; there's nothing
that would prevent (for example) specification of a bitfield that was
15 bits long, but with 64 bits total reserved.

The GNU runtime adopted a new encoding for bitfields of
b<type><bitsize>, but unfortunately, this is not used in Apple's
runtime.

As such, this will allow headers generated with large bitfields to still
be used, but they may reflect inaccurate structure sizes and member
layout.