Fix compilation of QtWebKit with MSVC 2012/2013

For some reason, MSVC 2012/2013 is no longer able to infer the
need for both a call to a constructor and a cast of its parameter
so we have to give a hint for at least one of these two operations.

Task-number: QTBUG-31882
Change-Id: I42b54313ec4f6a83cde28326534c59b93ab3f615
Fix compilation of QtWebKit with MSVC 2013

Starting with MSVC 2013, more functions are provided.

Task-number: QTBUG-34705
Change-Id: I85e35a2486e0bd556f5f16e5911cca5c364273ed
(adapted from commit qtscript/24d678ce9c3996f46d1069c2b1193e7ec1083fc8)
Restore dirty line logic in RenderInline::destroy

Ported from http://trac.webkit.org/changeset/86060
Add wkhtmltopdf definition to qwebframe.h

Define __EXTENSIVE_WKHTMLTOPDF_QT_HACK__ in qwebframe.h
so that wkhtmltopdf can check for it
Remove some graphics dependencies

Check for graphics mode in various webkit and qt classes, and
give sane fallback defaults in the case of tty mode.
Fix static build of webkit

Remove warning not allowing webkit in static build
Include JavaScriptCore in static build
make the static build for WebKit work properly

The following commits were ported from PhantomJS (for Webkit changes only):

https://github.com/ariya/phantomjs/commit/31157fbb98a9765c0043847a3a41359838aad0d0
https://github.com/ariya/phantomjs/commit/b11c6de9abfcf373f985b2c6629f34ec28b81ea6
https://github.com/ariya/phantomjs/commit/e7499d0b3332be1d2027238f1001c105b18a2950
https://github.com/ariya/phantomjs/commit/55a660f35a0c9ccf82a0296e83a9b4ff72ce637b
https://github.com/ariya/phantomjs/commit/62584ce7d4984030f2fb693760abab432ce5f591
fix build of WebKit on 64-bit MSVC 2010

The following link was used as a reference (with adaptations for static build)
http://blog.inventic.eu/2011/01/problem-with-qt-compilation-under-windows-64-bit
Fix static builds for Mac OS X
ignore untracked files generated during the build
do not build the QtWebkit tests
msvc: link to multithreaded static CRT + suppress warnings C4099, C4100, C4189

This is based on the corresponding commits in phantomjs:

https://github.com/ariya/phantomjs/commit/c3b30ac13654509b2fb3bfbf54789b885eff81a8
https://github.com/ariya/phantomjs/commit/d2c3a078ab50a8abd4b588744416ebfbfe2f905c
msvc: disable incremental linking for debug builds

This is because QtWebkit fails to link on 32-bit Windows.
Add support for links, hyperlinks and outlines to the pdf print system
Output pdf creation date in local time according to pdf spec
add support for not compressing pdf files
Add support for pdf forms in pdf print engine

Add text fields
Add initial checkbox support
Add radiobutton stup

The font support is still very basic
Add webpage print control API

The api allows for reusing a paint device to print more then one webpage,
spooling arbetrary pages, and querying the location of a html element,
in the printed document
Add support for using a mediatype diffrent from _print_ when printing
Do not print the background on body elements if it happes to be white