Favourites listed by JSON, bug fix

Favourites are now retrieved by using JSON, rather than directly reading
and parsing the file
Fix rare condition when editing a specific shortcut, where the changes
would be saved to the wrong item if the user switched focus in the list.