~mil/fbp

Break out drag threshold dist/ms to config; lower gesture drag threshold ms
Implement touch drag gestures for LR/RL/UD/DU

When outside of keyboard space touch events are now interpreted as drag
gestures and can be bound for LR/RL/UD/DU. By default dragging left/right
will switch between VTs and dragging up and down will increase/decrease
brightness
Disambiguate between finger down/drag/up for touch processing
s/pending_touch/touch_pending/g
Rework touch processing code to avoid duplicate logic
Fix second layer escape key to actually produce escape code
Add support for escaped backspace (\\b) to strings mode

E.g. in strings mode you can now echo in \\b and it'll come through
and type a literal \b (backspace) similar to how \\n and \\t were
already supported.
Upgrade to zig 0.9.1
Add missing sys/ioctl.h import for termios

Required for building on arch linux.
Remove a few unused imports
Code style cleanup
Fix wakeup sources enabling - make opening wakeup source nonfatal

All devices in wakeup sources enabled should be enabled; but certain
devices might be absent (e.g. Librem 5 devices on PP and visa-versa etc.)
so it needs to be nonfatal.
Migrate all keybinding handling logic to seperate handlers.zig file

Remove mixing of concerns in Runtime; now basically Runtime covers all
core event dispatching, grid calculation, and touchscreen related code.
Handlers call into runtime. Should make further refactoring simpler.
Break out uinput logic into Uinputkb interface
Stylistic updates
Fix semicolon key to properly produce correct keycode
Remove uneeded variable
Make status file optional; display statusfile unconfigured message if not found
Add comments for filepaths in config.zig
config: add device paths for the Librem 5

Signed-off-by: Miles Alan <m@milesalan.com>
Next