You can buy the reference design, or get an Arduino+USB host shield. You can get an Arduino anywhere, I'm not sure if their firmware will fit on a smaller AVR like the 328p. You can get the USB shield from Oleg's site directly (circuitsathome.com).
Sparkfun sells a cheaper version of Oleg's shield, although it seems to be out of stock right now: http://www.sparkfun.com/products/9947. Note that this shield doesn't work out of the box with the mega 1280/2560 boards because its SPI pins are located elsewhere compared to the smaller 168/328p Arduino boards like the Deicimila. You can do a hardware hack if you really want, but long story short, just get Oleg's shield.
edit: I've had a look at the code, and I can confirm this will work fine with either Oleg's shield or the Sparkfun shield, on a standard Arduino. So price-wise I'd say about $45 plus shipping from SF when they get their shields back in stock.
The site it links to, however, is less than useful for English speakers. (I think the site might be down under the load? I've been getting intermittent errors.)