Add UnlockDialog for unlocking the screen shield

When the screenshield is deactivated, instead of going back to the
session immediately, prompt the user for authentication.
This essentially reinstates what used to be provided by gnome-screensaver.
It is implemented by factoring out common code from gdm/loginDialog.js
and ui/userMenu.js

https://bugzilla.gnome.org/show_bug.cgi?id=619955
ScreenShield: improve locking/modal policy

Ensure that the lightbox is above everything (including the screenlock
itself) when fading in - this allows for fading while showing the
unlock dialog. Also, don't pushModal again when already locked, or
we won't get out of it.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Modal stack: fix handling of destroyed actors

Destroyed modal actors should be completely removed from the modal
stack automatically, including leaving modality if needed.
This allows for destroying modal dialogs without calling close().

https://bugzilla.gnome.org/show_bug.cgi?id=619955
LayoutManager: reverse the visibleInFullscreen flag

Change visibleInFullscreen to be trackFullscreen. If true, visibility
is fully bound to fullscreen status, if false, no change is made.
This allows to avoid set_skip_paint(), while not messing with
visibility of actors that are sometimes hidden for other reasons.
The flag was reversed because only the panel uses it, so false is
a more useful default.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
ScreenShield: use LayoutManager for creating the actor

This ensures that the screen shield is created at the right
stacking level, so the message tray is visible in the lock screen
(showing PAM messages, critical notifications and the on screen
keyboard)

https://bugzilla.gnome.org/show_bug.cgi?id=619955
LayoutManager: don't track the status of the screensaver on DBus

We are the screensaver now, and internal objects can track the
locking status better themselves. And to do so, add two signals
to ScreenShield.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
MessageTray: filter notifications in the screen lock

Track screen lock status and filter notifications according to
a per-notification boolean "privacySensitive" status. This allows
to show the keyboard and shell's transient notifications while
still hiding most notifications.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Show the panel above the screenshield when locked

Track locked status and use it to provide a reduced version of
the panel in the locked screen (essentially, it shows the date menu
without events, battery, volume and network without settings)

https://bugzilla.gnome.org/show_bug.cgi?id=619955
Remove usage of ScreenSaver DBus interface

There is no gnome-screensaver on the bus now, all users should be
updated to the internal screen shield.

https://bugzilla.gnome.org/show_bug.cgi?id=619955
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
Do not use constraints for alignment

ClutterConstraints on non-toplevel actors cause a lot of allocation
cycle warnings, and can potentially impact performance.

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