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
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
fix rendering issues for JPEGs with XMP/EXIF metadata

This was due to the record type 0xE1 not being handled in jpg_read_header.
Documentation for all the record types was added from source for jhead.