Fix two focus issues when switching/moving workspaces
1. Fix focus when moving to same workspace.
If we have a single window on a workspace and we switch to the same
worksapce, focus_next will be the workspace container, rather than the
current window, so simply call con_descend_focused to ensure we set the
focus to a window.
2. Fix focus when moving a container to a visible workspace.
Call workspace_show before we attaching to new visible workspace, so we
don't get in the weird situation where target workspace has focused
window, but it isn't considered focused.