This patch changes the test setup to use separate Channel instances for
each test case. This means that a panic in one test case does not
affect other test cases.
This patch adds basic integration tests that use the ctaphid library to
send CTAPHID commands to the authenticator over ctaphid-dispatch.
Unfortunately, usbd-ctaphid does not provide a public interface to its
packet handling code, so we have to copy that code for the time being.