hid: handle a vendor-specific collection type
A collection type of 0x80-0xff is VENDOR_DEFINED which we handled in one location but not the other. This causes an exception when printing the human description of a report.
Fix this by moving the collection type handling into a helper function, to be used the same way in both places we require it.
Fixes #25 (closed)
Note: I have a bunch of other fixes coming up that rework these parts quite a bit, but this one can go in until the others are ready.