Default state: Handling `SET_ADDRESS`

The `usb_transmit_done` function that we call when all chunks are sent
is in fact a good place to finish the handling of `SET_ADDRESS`.

And since the “transmit done” interrupt handler looks at the
`usb_transmit_ptr` variable to decide if there’s another chunk, the
`SET_ADDRESS` initial handler has to set it to `NULL`. I factored that
out into a separate `usb_transmit_dynamic` function. We will call it
when our response can be queued immediately. (This means it must fit in
less than 64 bytes.)
Default state: Handling `GET_DESCRIPTOR` (cont)

What’s left is the `device_descriptor` constant. For now, let’s use
this. We’ll flesh it out some time later.

(I’m using a different Product ID so as not to interfere with my main
keyboard, which is, of course, another Truly Ergonomic. 030C is the
Product ID in production mode; when in ISP DFU mode, the device
identifies itself as 030B.)