[Window Manager] Handle workspace-shift hotkeys on key-release instead of on key-press.

This makes it possible to support multiple rows of workspaces, by
differentiating between short and prolonged key presses:
a short press of Ctrl+Alt+Up or Ctrl+Alt+ Down opens Expo or Scale,
whereas a prolonged key press shifts workspace-up or down.
[Rows of workspaces] Implement a configurable number of workspaces.

This requires a fixed version of Muffin to work, otherwise shifting
up and down between rows will not work.
[Window Manager] Avoid "Window manager warnings" when shifting a window from one workspace to another.

Avoids the following:
Window manager warning: Got a request to focus 0x1c24097 (Terminal) with a timestamp of 0.  This shouldn't happen!
Window manager warning: CurrentTime used to choose focus window; focus window may not be correct.
[Window Manager] Also let windows that are on all workspaces participate in the workspace-switching animation.
[Rows of workspaces] Stricter alignment of columns if more than one workspace row.
[Rows of Workspaces] Unify handling of switch-workspace key bindings.
[Rows of workspaces] Disable fancy two-dimensional workspace names for now.
[Rows of workspaces] Add setting to enable/disable multiple workspace rows.
[Rows of workspaces] Add setting to choose bottom-up orientation of workspace rows.