Add VK_LWIN and VK_RWIN keys as meta modifiers

Task-number: QTBUG-43163
Change-Id: Iee9bb4b48dc7ea9f806abd6b07648cce46a79b6a
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
XCB: Don't override non-existent method when QT_NO_OPENGL

QBackingStore only has a toImage() method if OpenGL is enabled. I
noticed this because compilation failed for me, thanks to
Q_DECL_OVERRIDE.

qxcbbackingstore.h:60:12: error: ‘QImage QXcbBackingStore::toImage() const’ marked override, but does not override
     QImage toImage() const Q_DECL_OVERRIDE;

Change-Id: I6b45ef41c53d819d81fe657f26adc1f630fec6bb
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Harmonize QPA TrayIcon showMessage parameter order

Parameters were misnamed in some places but still managed to pass them
through in the right order.  Rename to avoid confusion, and keep the
parameter order the same as in QSystemTrayIcon::showMessage.

Change-Id: Ib4c8fff15eff15034c4ea64757803b118e487144
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Remove support for NTLMv1

NTLVMv1 is of historic interest only, since even Windows NT 4.0 already
supported NTLMv2. NTLVMv1 is also considered to be insecure.

Removing the code (that was not compiled in by default anyway) allows us
also to get rid of 3rdparty/des.

Change-Id: I5a9778f4250e1974c270ee6be539332318c09443
Reviewed-by: Richard J. Moore <rich@kde.org>
Pluginize the eglfs hooks

Following the principle of device integrations in QtWayland and soon
xcb, a plugin interface is being introduced to gradually replace the
statically compiled-in hooks.

The interface is same as before for the time being, for compatibility
with the existing device-specific hooks.

QEglFSHooks is now just a dummy subclass for QEGLDeviceIntegration to
support the legacy, compiled-in, device-specific hooks. When -device
is not used with configure and so there is no hook active, the new
plugin-based approach kicks in.

The environment variable QT_QPA_EGLFS_INTEGRATION can be set to
indicate the preferred integration name (e.g. eglfs_x11, eglfs_kms).

It can also be set to "none", indicating that no plugins should be
considered and the default, non-specialized integration is to be used.
(this is for devices, like Beagleboard|bone, that do not need any special
code to set up EGL)

Device makespecs can set EGLFS_DEVICE_INTEGRATION. The value is then used
as the default, preferred plugin name when QT_QPA_EGLFS_INTEGRATION is not
set. In the future device makespecs are expected to set a plugin name instead
of relying on the traditional EGLFS_PLATFORM_HOOKS_*.

When neither the QT_QPA_EGLFS_INTEGRATION nor EGLFS_DEVICE_INTEGRATION are
set, all plugins will be tried in an unspecified order. The first one that
succeeds to load is used. If all fails or there are no plugins, the built-in,
non-specialized integration is used.

To debug what integration is being used, enable the logging category
qt.qpa.egldeviceintegration.

There is some built-in logic for desktop/Mesa based systems: Under X,
eglfs_x11 is preferred, otherwise eglfs_kms is prioritized. This, assuming
sufficient permissions to video and input devices, allows simply launching
apps with -platform eglfs. No more editing of eglfs.pri.

[ChangeLog][QtGui] Added support for device-specific backend plugins in eglfs.

Change-Id: Ia2ddcddac014c25817171dc140cd8cf913784ac6
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>