this slipped under the radar because none of the built-in terms have
more than one empty key cap, or an empty string for one of the caps
we use in init/shutdown.
some terms do of course have multiple empty caps. for example,
`xterm-color` is missing `khome`, `kend`, and `kcbt` (back-tab),
which leads to adding `""` more than once, which leads to a
`TB_ERR_CAP_COLLISION` error on init. other terms don't have caps for
hiding and showing the cursor, for example.
to avoid these errors, we avoid adding empty caps to the trie, and
similarly avoid emitting empty caps.
it's kind of hard to add a functional test for this as it gets into
testing multiple term envs and terminal emulators which is a bit of a
pandora's box. as an alternative, i'm going to do some more manual
testing on various terms on my system.