USB support

Add USB support, closes #6.