Port to GDBus 2

The GDBus bindings in gjs have been updated to leverage metaclasses
and gobject inheritance, which should result in cleaner and more
maintainable code.
Login dialog: update for GDM port to GDBus

libgdmgreeter changed interface slightly due to the port to GDBus.
Update for that.

https://bugzilla.gnome.org/show_bug.cgi?id=676401
screenShield: add initial functionality

We are replacing the gnome-screensaver module with with a screen shield
that is part of gnome-shell.

This patch fades out the screen on idle and shows a shield with a background
image when there is activity again. The shield can be removed with a key or
button press.
lightbox: make sure this.shown set to false when start showing
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.
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.
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().
ScreenShield: reset isLocked flag when unlocking

Otherwise further locking will get us confused and cause "incorrect
pop" JS errors (as well as keeping the shell modal forever).
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.
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)
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.
Also, kill some overly verbose debug logging.
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.
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)
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.
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.
Do not use constraints for alignment

ClutterConstraints on non-toplevel actors cause a lot of allocation
cycle warnings, and can potentially impact performance.
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).
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.
UnlockDialog: a few usability improvements

Make sure that key focus is on the entry rather than the button,
add a context menu and make it possible to unlock with Enter.
Add a clock to the lock screen

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