During a GC mark the scope chain of QScriptContexts
During a GC mark the scope chain of QScriptContexts

It appears that simply being in the scope chain of an existant frame
isn't sufficient to be marked.  This can lead to a QScriptContext
scope chain that contains a JSObject that has been collected.

For example, this code:

QScriptContext *ctxt = engine->pushContext();
ctxt.pushScope(engine->newObject());
previouslyCreatedFunctionObject.call(); // causes a GC

can lead to the object added to the scope chain to have become
invalid.  This leads to hilarity later on.

Reviewed-by: Kent Hansen

radekp/qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,radekp/qt,igor-sfdc/qt-wk,radekp/qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,radekp/qt,igor-sfdc/qt-wk,radekp/qt,radekp/qt,radekp/qt,radekp/qt,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,radekp/qt,radekp/qt,pruiz/wkhtmltopdf-qt