Make the Meego components build against Qt5 with QtQuick2

Most of the differences have been abstracted into a new directory
under src named 'compat', that contains a compatibility layer
between the QtQuick1 APIs and the new QtQuick2 APIs. This reduces
the number of ifdefs that have to be added to the code itself.

A similar approach is used to work around the hard-coding of
QML versions in the QML imports, where qmake is used to pre-
or post-process the sources to bump the version to 2.0

We're not yet building:

 - Examples and demos
 - Unit-tests

The latter is okay for now since most of the tests just verify the API
by setting and getting properties, so if the tests pass using Qt 4.8
they should pass with Qt5 as well (but getting them building requires
adding a bunch of ifdefs all around).
Support screen orientations with Qt 5

Pass '-plugin meegointegration' to applications when running on MeeGo
to pick up the platform plugin that provides orientation changes.
Port the status bar to Qt 5
Fix content positioning when the virtual keyboard appears

Implement keyboard rectangle and micro focus reporting using QInputPanel.
Fix compilation of in-source builds

Use "qml2" as target directory for the "upgraded" qml files, which avoids
a conflict with the existing "qml" directory for in-source builds.

Reviewed-by: Tor Arne Vestbø
Fix compilation with Qt 4
Fix "initial orientation" on host builds

Reviewed-by: Trustme
Fix noticable lag on host & device when going back in the page stack

Don't explicitly run the garbage collector in this situation. It is
considerably more expensive with V8.

Reviewed-by: TrustMe
Fix local theme path fallback

Configure tries to determine the "base" fallback path for the local
them client and defines the THEME_DIR macro. We should use it instead
of falling back to /usr/share/themes. The latter is also chosen as
fallback by configure, so this should be safe.

Reviewed-by: Trustme
Fix crashes when destroying and re-creating a statusbar

Upon destruction time we cannot retrieve the X display, due to the
lack of a canvas(). Since the X display is a constant (for our
purposes), we might as well cache it and therefore have it around
when destroying the X damage via the statusbar destructor.

Reviewed-by: Trustme
Fix compilation with newer Qt 5
Fix signal & slot connections with newer Qt 5

QScreen's currentOrientationChanged signal has been renamed to
orientationChanged.
Use QT_CONFIG to detect dbus instead of custom platform checks
Make bump-qml-version regex magic work on Mac OS X as well

A combination of supporting debug_and_release and switching to perl
instead of sed to get rid of differences between BSD sed and GNU sed.
Fix the build on Mac OS X

Moved helper function for display() to MDeclarativeScreen and wrapped
all X-related code into HAVE_XLIB, which is the closest we can get to
will-run-against-an-X-server.
Add build_all to meego extras project file
Declare compat-layer as classes instead of structs to prevent warnings
Fix warning about unused qimageFromXImage on non-X-platforms
Fix compilation with newer Qt 5
Fix crashes on startup with Qt 5

Try harder to get the X display connection. We may not have the window
yet in MDeclarativeScreen, so allow the caller to optionally provide
an item, which may have the canvas.