Option to Not include all the USB libraries (Leonardo & compatibles)

There's a gotcha here for some users: Windows matches drivers based in part on how many and which endpoints are presented by the device. What this means is that, all else being equal, Windows thinks that a device with just CDC is different than a device with CDC and HID and may refuse to load the correct driver.

Linux and OS X don't have this problem.

This only gets more complicated when you introduce other types of endpoints (ie joystick or MIDI). The fix is pretty straightforward: you can modify "Arduino Leonardo.inf" in the drivers folder to match the new endpoints but that's an advanced topic AND the old settings will often hang around in the registry. I'm still interested in a solution to this because I agree it would be great to omit unused USB device type libraries and support new ones but it's tricky to do cross-platform.