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?
Not sure if it matters here, but case in keys matters since `<A-b>` and `<a-b>` are two different combinations and matching without case, would create weird ambiguity errors