Simplify Env code by reusing QProcessEnvironment.

This gets rid of the custom parse code and slims down the API.

https://github.com/ariya/phantomjs/issues/12424
Stop early when QtBase or QtWebKit failed to compile.

Currently, the build script will continue to try to build PhantomJS
even when either QtBase or QtWebKit failed to compile. In such a
case, the script should return early and emit an error message.

https://github.com/ariya/phantomjs/issues/12433
Remove patches/ since they are for 1.x only.

https://github.com/ariya/phantomjs/issues/10448
Remove website/ directory.

The web site has been based on GitHub pages for 2.5 years already.
More tests for the arguments object.

https://github.com/ariya/phantomjs/issues/11845
https://github.com/ariya/phantomjs/issues/11558
https://github.com/ariya/phantomjs/issues/11746
https://github.com/ariya/phantomjs/issues/10315

https://github.com/ariya/phantomjs/issues/12439
preconfig.sh: don't require ICU on OSX

This isn't needed for the full build, only QtWebKit which has it's own ways of finding the system ICU.

https://github.com/ariya/phantomjs/issues/10448
Fix path handling when running the build process.

https://github.com/ariya/phantomjs/issues/12433
Launcher for ECMA-262 test suite (test262.ecmascript.org).

https://github.com/ariya/phantomjs/issues/12439
Fix rasterize example exit status on failure.

https://github.com/ariya/phantomjs/issues/11911
Use Array.prototype.slice in window.callPhantom.

window.callPhantom formerly used Array.prototype.splice for cloning
its arguments to the internal _phantom.call. This relied on
non-standard behaviour of the splice method when only a single
argument was passed to it (it requires 2 arguments).

The correct method for cloning the arguments array is to use
Array.prototype.slice, which accepts a single argument (index) and
returns a new array from the specified index.

https://github.com/ariya/phantomjs/issues/12306