Fixed #9 High Speed usb actually broke. The issue has something to do with the usb descriptor config numbers for high speed and low speed.
Xilinx uses 3 for full speed descriptors and 2 for high speed. For some reason this causes terible issues when the PC tries to talk to it. This likely doens't need to be identical for it to work with Xilinx tools, so for now highspeed=2 and fullspeed=1 is fine (unless Xilinx tools check that for some reason).