ScreenShield: show notifications in the locked screen

Rework lock handling in the message tray to separate summary handling
and notification handling. Now the message tray is completely hidden
when the screen is locked, but exceptions can be made for individual
transient notifications.
Non transient sources are shown in the middle of the lock screen. Resident
notifications (such as those from Rhythmbox) are shown in full, while
dpersistent ones are displayed as icon and message count.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Screen Shield: animate manual locking

When the screen shield is activated from the user menu, animate
it instead of showing it abruptly.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Show more of the status area in the locked screen

Restore showing the user name in the upper right corner. Show
keyboard layout switcher and show accessibility menu, to ensure
that all features needed for successful unlocking can be enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Login Dialogs: update styling to match mockups

Remove backgrounds, change button styling, reduce font sizes.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
UnlockDialog: add the "Login with other user" link

Add a small link to summon gdm and the real login screen. Also, change
layout and styling of this and the "Not listed" link in gdm to
match the mockups.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
St: draw the actor at full opacity when creating shadow material

When creating the shadow, we should ignore the opacity set on the
actor and its parent, as it will be applied again at a later stage.

https://bugzilla.gnome.org/show_bug.cgi?id=677412
ScreenShield: add a watchdog process in case the shell crashes

If the shell crashes while the screenshield is active, the lock
screen is teared down, and that's potentially a security issue.
To mitigate that, add a process that keeps a full black screen
on top of everything (except the shell itself) and grabs the
mouse and keyboard if the shell crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Layout: ignore fullscreen windows when the lock screen is active

With the new watchdog, there will always be a fullscreen window
on every monitor, so the panel would be hidden. As we already
have policy on what to show when locked, ignore fullscreen windows
in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
User Menu: wait for the animation before suspending

Suspending right away after starting the lock means the animation
runs after the computer is restarted, and for an instant you
can the see the running session. Not animating at all doesn't work
because you need to go back to main loop to draw, and it looks
bad anyway.
Also, don't animate when switching session.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
ShellDBus: export screensaver interface

gnome-session and gnome-settings-daemon rely on the screensaver
interface to know the locked state. Since gnome-screensaver is no
longer running, it's up to gnome-shell to provide it.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Allow the shell to run without the screenshield

The screenshield requires gdm 3.5, which can be problematic in
jhbuild configurations. Allow transparent fallback to gnome-screensaver
in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
UnlockDialog: show a numeric keypad when using PIN authentication

When using pam_pin.so to login with a numeric PIN, show a numeric
keypad to make it easier to type, especially on touch devices.

https://bugzilla.gnome.org/show_bug.cgi?id=619955