This PR adds a configuration option to switch between xHCI and EHCI for the USB controller. Only one will be enabled per VM and by default xHCI is used.
To disable xHCI and use EHCI instead (as before), add vm config usb-use-xhci false to the VM's config.
This should fix two issues:
Issues observed for Windows VMs in phenix when both EHCI and xHCI are present
Backwards compatibility for certain use cases that cannot add support for xHCI (e.g., pre-2010 VMs)
Copy of #1500 From Jacob --