Documentation: Update QtQuick import value to 2.4

There are new APIs in Qt 5.4, the import version needed is 2.4.

Change-Id: I1c52c6a50362f539670d9ad00e03e57208234a17
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Fix not having a context when cleaning up on Windows

The same old issue surfaces in the windows render loop too.
The basic render loop is already fixed, apply a similar patch
to the windows one too.

Task-number: QTBUG-42213
Change-Id: I07068315f5164014e329b8ce061947c97ae9da61
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Merge remote-tracking branch 'origin/5.4' into 5.4.0

Change-Id: I2c69deb3bc69da1a06485aaf72fb298b08756734
Merge "Merge remote-tracking branch 'origin/5.4' into 5.4.0" into refs/staging/5.4.0
Revert "Fix pixel bleed in BorderImage"

This reverts commit a9238292145e05d36be7c35bdd50829c6400a3de.

It also reverts follow-up commits:
  87755d0437413cfb875c50e3dfa53030601567c9
  c2c710e5a8d66fa696276aa69c2e3b00436eefe5
  cc8a76ce8ea76afe912902067e95ca2abf9e482f

The new implementation is much too slow because it will cause each
section of the border image to be uploaded to the atlas, and it will
not be shared between different border images nor between different
sizes of the border. The performance regression is so significant
that it's not worth it for the original bug fix.

We leave the tests around, so some of those might regress due to
this.

Change-Id: I3f56f4564255ebb77e6487881a6a11b19ad0234e
Task-number: QTBUG-42288
Task-number: QTBUG-35838
Reviewed-by: Michael Brasser <michael.brasser@live.com>
qml: obey QT_NO_REGULAREXPRESSION define

Not all platforms do have QRegularExpression as it is based on
pcre.

Change-Id: I3247f8b2213f78a6e537f6781d97b0c6382482ad
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't embded qmldbg_tcp plugin to libQt5Qml in static build

Embedding qmldbg_tcp sources to libQt5Qml causes multipled
definitions of QTcpServerConnection symbols with static
build on Qt Quick 2 applications. Qmake can resolve
dependencies to static plugins applications use, so no
need to embed this to libQt5Qml.

Change-Id: I18c5e44b9ac3de4ef8be29cc5944de3527566b3c
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
Doc: Change the div classes for three-column layout

The new documentation style for publishing docs under qt.io
requires dedicated div classes for pages that use a three-
column layout.

The new divs enable the columns to stack and react to changes
in the window width.

Task-number: QTBUG-42086
Change-Id: Id0ccb0ef7e0be237789b8c891db05413efc1f8aa
Reviewed-by: Martin Smith <martin.smith@digia.com>
Invalidate font caches when switching between threads

The font caches can only be used from a single thread at a time.
QFontEngineFT for instance, uses a global static thread storage
which is accessed on releasing and creating engines, and this
causes a crash if the font engine is created on one thread and
released on another.

We use the updatePolish() function to make sure the caches are
empty before entering updatePaintNode(), and then we invalidate
the cache again after updatePaintNode() is done.

[ChangeLog][Text] Fixed uncommon crash in text nodes.

Change-Id: I01dbc2ed58aeebd03d77a157c700330334bdb385
Task-number: QTBUG-38800
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Merge remote-tracking branch 'origin/5.4.0' into 5.4

Change-Id: I2e7fc085663e00dd0390593a91c30d23d1369c4e
Merge "Merge remote-tracking branch 'origin/5.4.0' into 5.4" into refs/staging/5.4