You can actually bit-bang low speed USB on Arduino [0]. There is even a bootloader [1] for ATtiny visible to host as HID USB device. It is obviously not compatible with Arduino, but those tiny boards look too cute to ignore [2]. Also, you can use USB port both for downloading firmware and your application.