Support multiple 360 gamepads

I haven't written any C# in a while so I hope this is correct. It tests well with a variable number of pads here.

I also removed the 2-way indirection in the original code, since I didn't see any point in it.