Why is USB pass-through to a VM often unreliable? Like specifically what is it about the protocol or implementations or whatever that makes it difficult to do?