Fix ERROR_INVALID_USER_BUFFER for long buffers.

If you pass a buffer to hid_write() where `length` is strictly greater than `dev->output_report_length`, then `WriteFile` will fail with `ERROR_INVALID_USER_BUFFER`.

This fixes that problem. Tested on Windows 7 64-bit.