Having the hot corner activate the overview works rather poorly with scrolling
through the workspaces.
We override the functionality to instead show the top bar, making it possible to
scroll to another workspace if a fullscreen window is active.
This is the common functions needed for both the extension side and prefence UI
side, so it goes in `settings.js`.
`Settings.findConflicts` searches for keycombo conflicts between our own
bindings and the built in Gnome Shell and mutter bindings, returning an array
like this:
```
[{ name: our own action name,
conflicts: array of conflicting names
settings: the settings schema the conflicting are part of
combo: the key combo as generated by keystrToKeycombo},
...]
```
keystrToKeycombo now handles `Above_Tab` properly.
Per workspace settings can be accessed through `space.settings`.
A setting's path is stored under its uuid in
`/org/gnome/shell/extensions/paperwm/workspaces/${uuid}/`. When modifying a
workspace setting the uuid will be recorded in
`org.gnome.Shell.Extensions.PaperWM.WorkspaceList`.
Spaces get their settings by looking for an uuid with an `index` key
corrosponding to its `workspace.index()`. If such a setting can't be found the
space will be given a fresh uuid and the name and color will be assigned as
before.