Make layout configurable

Make layout configurable and provide 4 default layouts: left- and
right-handed US Qwerty and left- right-handed Canadian French.
Add mappings