This patch is going to reduce kernel size if USB and IFLIB support are not required. As "option usb" and "option iflib" are valid options, all related files could be included in kernel only if options are defined.
This is initial draft (tested only mips32 and only options off), more testing (amd64 generic, options on/off) is required.
Reviews from USB/IFLIB developers are welcome!