Work on the single layout
Make layout configurable

Make layout configurable and provide 4 default layouts: left- and
right-handed US Qwerty and left- right-handed Canadian French.
Reorganize the code, add mappings