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.