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
Made by wkhtmltopdf
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
Add support for custom print shrinking
Add property viewBoxClip to QSvgGenerator allowing for not including objects outside the viewBox

Add support the the qsvgprintengine to not draw objects that are outside the viewBox, also changed qsvgprintengine so that it does not output unused or identical state objects
Add image printing improvments

* Add extra raw data field to the drawImage method
* Make the pdf printer embed raw jpeg images if supplied
* Make webkit forward the raw images to the print engine
* Add setting to choose the maximal dpi of an image to include
* When possible downscale images using smooth scaling
* Improve compression of grayscale images for pdfs
Prevent page breaks in table rows.

Taken from https://github.com/KDAB/phantomjs/commit/5c87852c323c2b4bfd96d00cb11d75d71947837a
Repeat thead and tfoot when table contains page breaks.

Taken from https://github.com/KDAB/phantomjs/commit/2d778f687e78eab092d563b0e75ae303e777d8af
Pass page height through to print context from web frame printer

This fixes issues with page breaks not being inserted.
Improve font kerning

This is the workaround proposed in comment #7 of webkit bug 92363:
https://bugs.webkit.org/show_bug.cgi?id=93263#c7
Table page-break improvements

Bump tables to the next page if we cannot fit the caption, thead
and first cell on the current page. Ideally this should be checking
the height of all cells in the first row in the same manner as is
done in the table section render but as this is more of a nice to
have I've done the minimal amount of work for now.

We now only layout section rows once each section has been positioned
within the table, and only supply head and foot reservation heights
to the appropriate sections.

When re-drawing the thead and tfoot only do so if the rect we are
painting is explicitly before/after the "original" thead/tfoot
rather than simply outside of its boundaries. This prevents issues
with re-drawing a redundant head when bumping tables to the next page.

Re-work the table section row layout code so that it's a bit more
streamlined. Additionally, to cater for cells spanning multiple rows
we avoid page breaks in the middle of their content. Note that rows
are always bumped to the next page even if their content doesn't
fit on a full page so as to avoid daft situtations like having the
first 1px on the preceeding page.