No bitfields in public headers b/c packing is compiler-specific

There's been some discussion about gcc, clang, and MSVC packing these structs differently. Given that these are the only bitfields in the public headers, @carlosmn and I propose that we just avoid any potential problems here and ban bitfields from public structures.