key_box: trim values longer than 50 chars
Update reference to deprecated meson method

Meson would previously print:

    hiprompt_gtk/meson.build:15: WARNING: Project targets '>=0.55.0' but
    uses feature deprecated since '0.55.0': ExternalProgram.path. use
    ExternalProgram.full_path() instead
Properly render keys which contain a dash

When one of the keys (as in key/value) contained a dash, it would not
render properly.

For example, for the entry `access-token!=123 proto=hut`, hiprompt would
render something like:

  access    (empty)
  -         (empty)
  token     (not shown)
  proto     hut

This is due to the dash not being considered a word character and being
split. This patch results in hiprompt rendering the expected prompt:

  access-token    (not shown)
  proto           hut
Async password feedback

Introduces Gio to tell the user that their password is being verified
instead of just freezing the GUI.
window.py: move button enable timeout setup into make_ui

Otherwise buttons are permanently disabled when decrypting on a hard
locked store.
Implement accepting with enter and denying with escape
Add timeout for enabling the grant buttons
Implement new prompter protocol
Implement 'delete' prompt mode
Fix handling of sys.stdin.readline() result

It includes the newline and not checking for it caused incorrect
password command to be interpreted as correct.
key.py: fix parsing of values with symbols
Fix install permissions for the launcher script
Add error reporting for unknown commands
Fix displaying the window in layer shell
Fix launching as a module
Fix meson build and installation
Remove forced border radius from the window

This creates a drawing bug in combination with the headerbar
Implement the disclose operation
Implement unlocking with key disclosure
Make the Key iterable