I think should split my patch into many little commits. Should also add some tests or make some changes?
Yes, add conformance tests for the new ntoskrnl functions and usbd.sys, and break the patch up a lot...
Looks like people have been hoping for something like this for a couple years now, e.g. http://www.winehq.org/pipermail/wine-devel/2005-November/042357.html