Open log only once and fallback to stdout when unable to open

Make QFile static to avoid opening and closing it for every log
message which will be rather slow.

Also, if it's not possible to open the log file fallback to
stdout to avoid losing log messages.
This is useful in test mode which runs as normal user.
translate japanese
update JA translation
Merge pull request #152 from plfiorini/log

Open log only once and fallback to stdout when unable to open
Support logging to journald if enabled

Add support to journald logging that provides us much more information
such as code line and function, process command line, etc...
Logging works just like before when running interactively.

Since the DAEMON or GREETER prefix are not useful when logging to journald
and there was not even consistency between them, we now have two message
handlers respectively for daemon and greeter.

Those message handlers prepend the correct prefix to the message when
logging to file or stdout.  As a result all log messages don't need to
provide those prefixes anymore.
Merge pull request #157 from plfiorini/journald

Support logging to journald if enabled
Flush stream when logging to standard output

Print everything in the stdout buffer immediately.
Merge pull request #158 from plfiorini/flushlog

Flush stream when logging to standard output
Merge pull request #160 from mika-k/master

Japanese translation
Add session information for logind

Make sure logind knows more information about the user session.
Merge pull request #156 from plfiorini/xdgpamenv

Add session information for logind
Make test mode parameter consistent and pass it to the greeter

Greeter now recognize --test-mode instead of --test for consistency,
also daemon pass this argument to the greeter if in test mode.
Merge pull request #154 from plfiorini/testmode

Make test mode parameter consistent and pass it to the greeter
Wayland port

This change adds Wayland support only to Qt 5 builds (it's not possible
with Qt 4).

Users pass -DUSE_WAYLAND=ON to cmake in order to enable Wayland support.
Wayland and X11 support are mutually exclusive.

systemd >= 209 is required because it manages devices for us.

Changes to daemon:

 - DisplayServer is now a base class
 - DisplayServer implementation code moved to XcbDisplayServer
 - New WaylandDisplayServer class with Wayland specific code

Changes to greeter:

 - KeyboardBackend moved to its separate .cpp/.h files
 - Same happened to XcbKeyboardBackend
 - KeyboardModelPrivate moved to a separate header
 - Layout moved to separate .cpp/.h files as KeyboardLayout
 - New WaylandKeyboardBackend class with Wayland specific code
 - Added WaylandIntegration class to use wl_fullscreen_shell

Wayland backends are used only if USE_WAYLAND is defined.

The sddm.conf configuration file has different values if Wayland support
is enabled for:

 - ServerPath
 - SessionsDir
 - SessionCommand

With Wayland we have compositors that take the role of display server,
window manager and compositor and we can have many of them, all with
different command line arguments.
For this reason the only compositor supported at this moment is Weston
with fullscreen shell support available from:

  https://github.com/jekstrand/weston/tree/fullscreen-shell-v6

It will likely to be ready for Weston 1.5.

Weston's fullscreen shell requires a window to be presented on each
output, size mismatch between window and output sizes is resolved
stretching the window to accomodate output size.
sddm currently creates only one giant window for all the screens,
to avoid stretching this window I decided to make it as big as
the primary output resulting in other outputs showing a black
screen.

In the future we might implement sddm's own compositor, but for an
initial Wayland support it's better use Weston.
A sddm compositor might be able to show sddm giant window without
problems.

The compositor in test mode simulates two screens to easily test
multi screen support.

FIXME: Edit compositor path in CMakeLists.txt before merging.