* bindings/vapi/javascriptcore-4.0.vapi: Make JS objects match their JSC
definitions: move JSValueFoo methods to JS.Value, etc. Update call
sites.
* src/client/util/util-webkit.vala: Move WebKit-specific common methods
from ClientWebView here. Update call sites.
* src/engine/util/util-js.vala: Move JSC-specific common methods from
ClientWebView and ComposerPageStateTest here. Update call sites.
* src/client/web-process/web-process-extension.vala: Check for and handle
exceptions when calling JS code.
* src/CMakeLists.txt: Add new source files, make WebKit VAPI generation
and engine compilation depend on JSC.
* ui/composer-web-view.js (ComposerPageState::resolveNesting): Apply JS
RegExp globally, to match default GLib RegEx behaviour.
* test/js/composer-page-state-test.vala: New tests covering generation of
HTML and F=F text from JS ComposerPageState object.
* test/CMakeLists.txt: Add the new test.
* test/main.vala (main): Add a test suite for JS tests, add the new test
to it.
* src/client/components/client-web-view.vala (ClientWebView): Add a
reason to the JSError domain for when a JS exception is thrown.
* bindings/vapi/javascriptcore-4.0.vapi (JS::Context): Add JS.Type and
some additional methods needed for the unit tests. Move most
GlobalContext methods to Context so we can pass the lowest common
demominator around.