This is another major revamp. Things will probably not work or cause a hang.

This is probably the last major change for a long time. I wanted to simplify the utility functions and make them less generic and more geared towards our specific needs as an xpad360 driver.
This makes the code more readable and easier to modify (well.. I suck at design so maybe not so much for some people).

Anyways, I've also split the project into two. There's now xpad360wr and xpad360w. They both compile with xpad360c inlined.

There's a 99% chance *things will be fucked up royally*. I wouldn't try this on a stable machine.