Support compound keys (<a-f>, <c-[>, etc.) in passkeys

This implements support for compound passkeys, which must be separated from other passkeys keys by a space. We require spaces since
* we can't map to the ` `(space) key, so it doesn't cause any problems, and
* we need to be able to have `<` and `>`, since some people have bindings using them.

This is a follow-up to an idea from the conversation on #1211.

@z0rch, @smblott-github, can you take a look, possibly in conjunction with #1140?
Would be nice to ignore case for named keys, e.g. treat `<A-b>` in the same way as `<a-b>`.