Moved Cairo context usage to Rust, and rearranged ctx setup (position) to happen in one place.
Removed render calls that were overwritten on each draw call anyway.
Pulled in some Unix-specific code from https://github.com/rust-locale/locale_config to reduce dependencies.
First reason to reduce dependencies: gettext-rs is not in Debian. Copying gettext-sys might have made sense, but the interface is somewhat confusing.
For translating a couple identifiers, detection and some hand-rolled hash map is all that is needed, and the option to move to gettext later remains.
locale_config has been stripped of the lazy_static dependency, which, messing with the strtup sequence, might be a source of debugging woes. Plus setting language once in the beginning is somewhat inflexible regarding runtime changes.
WIP
WIP: keymap generation test passes
meta: Update features and version
WiP: cargo.lock
WIP: don't crash
WIP: no outlines
parsing: New tests
WIP: base level works
WIP: remove old keyboard
symbols correctly input
WIP: lodaing files
WIP: fallback works
Valid fallback
Pros: Ability to use Rust libraries from crates.io
Problems: Need to lock library versions and document their reproducible building, either via Cargo.lock or vendoring.