The Genymotion emulator (https://cloud.genymotion.com) has USB support built-in, thanks to VirtualBox USB. If the compiled virtual machines don't fit your needs (or you need special USB drivers), you can recompile GenymotionVM by using the source code at github (https://github.com/androvm/platform_manifest).
PS: I'm a Genymotion developer.