ScreenShield: implement curtain design

This separates the screen shield into two main screens. One is
the lock screen, and it is shown when coming back from idle status
and when failing authentication. The other is the actual unlock
dialog.
Moving from the first to the second is possible by pressing Escape
or by dragging an arrow on the bottom on the screen.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Consolidate creation of login and unlock dialog in the screenshield

The design calls for the curtain to appear in the gdm greeter too.
Implement this by having the screenshield manage the login dialog
(delegating its creation to SessionMode).

https://bugzilla.gnome.org/show_bug.cgi?id=619955
ShellEntry: make isPassword param changeable at runtime

Make it possible to control the visibility of "Show/hide text" item
at runtime, to reuse the same entry for both password and non-password
prompts.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Add a clock to the lock screen

Start implementing the lock screen design by adding a big white
clock in the middle.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Message Tray: (XXX): increase icon size to 48px

This is just for testing. The message tray redesign should take
care of this.
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