Fix a struct overflow case in WII_IPC_HLE_Device_hid.cpp

WiiHIDDeviceDescriptor is 20 bytes in size (2 of which are padding bytes)
libusb_device_descriptor on the other hand is 18 bytes (does not have the
2 padding bytes).

So we were pulling 20 bytes out of an 18 byte struct, which isn't really
correct.
Merge pull request #407 from lioncash/hid-overflow

Fix a struct overflow case in WII_IPC_HLE_Device_hid.cpp