USB Alternate Settings: Understanding Multi-Function Switching