This is something I've been considering making. There's a software USB library for AVR microcontrollers called LUFA, that supports both USB device and host modes, so the microcontroller wouldn't necessarily need hardware support for USB host (though it would be nice). bbraun also did some work on this idea a year or two ago, and got something that mostly worked, so it's definitely possible.