Make layout configurable and "variable"

Make layout configurable and "variable", provide 2 layouts (US Qwerty and Canadian French) and two variants ("left-handed" and "right-handed").
Organize better
Experiment with mappings, fix documentation
Exchange keys for Command Mode and Undo
Replace "variant" with "permutation"
Add user commands to change left-/right-handed
Format comments
Simplify layout and permutation keeping
Plan to avoid double loading in the future
Format documentation