added per-system configuration
reworked glfw handle mapping to use vector instead of map