x11-display: Split out restoring of active workspace
Splitting out the X11 display initialization from display_open() broke restoring the previously active workspace in two ways:
when dynamic workspaces are used, the old workspaces haven't been restored yet, so we stay on the first workspace
when static workspaces are used, the code tries to access the compositor that hasn't been initialized yet, resulting in a segfault
Fix both those issues by splitting out restoring of the active workspace.
Fixes #479 (closed)