Give the QJSValuePrivate the pointer to the engine back

Unfortunately the value needs a pointer back to the engine, to keep
compatibility with the old code and have our tests pass unmodified.

Change-Id: Ibe26e6c770bd8d26dad4a26d42b40e3e1af4996c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
More correct conversion to a QString when toString() throws

Change-Id: I0c11b5ed593593f849ec272ae17f2ef4525f3629
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix QJSValue::toVariant and isVariant

Change-Id: I7360e37e34756e26f3e8936751c6b65a9d0a2167
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>