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.

GNOME/mutter#479
3 jobs for !466 with restore-active-ws in 6 minutes and 19 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Review
passed #235227
check-commit-log

00:00:47

 
  Build
passed #235228
build-mutter

00:01:53

 
  Test
passed #235229
test-mutter

00:03:38