added: peripheral add-ons

a peripheral is currently defined as a device
having a keymap, a lircmap or a irss map (in
any combination).

this adds a new keymap format that is less verbose
and easier to work with. the code for handling this
is put in the peripheral add-on class with the ultimate
goal of moving all loading there.
added: load the nyxboard keymappings if peripheral is found
changed: convert all current keymaps, lircmaps and irssmaps to add-ons
added: builtin to reload keymaps
added: reload keymaps on peripheral add-on install/uninstall