In preparation to de-couple some of LinuxKPI-USB from native USB
enable MS extensions allowing us to embed anonymous structs or unions
in other structs/unions. While this is a non-standard C extension
both compilers have supported it long enough to be able to use it and
it gives a lot more readable code than using macros for struct fields,
especially with lots of pre-processor conditions.
The reason to enable it globally for the kernel is that otherwise the
options (thorugh a define) would have to be sprinkled through half
of the USB stack and drivers, which, even just for amd64, lead to a
very messy outcome, hard to maintain.
Sponsored by: The FreeBSD Foundation
Discussed with: srcmgr (imp)
MFC after: 3 days