qml tool: compiles with clang

The error was that app can be uninitialized if the switch goes into
the default branch.

Change-Id: Ic690e1dd257cf88ee04d019b5b81121cecb48564
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Use one render loop per QQuickWindow

See the task for the full reasoning behind this patch.

The threaded renderloop has been refactored to have one window per
thread. This is mostly a simplification of the current code path where
for loops over multiple windows are turned into if (window).

The QSGContext has been split into two classes, QSGRenderContext
for which there is one per OpenGLContext.

The rest of the patch is name changes and a couple of cleanups
in the hopes of simplifying this change.

Task-number: QTBUG-33993

Change-Id: I31c81f9694d7da7474a72333169be38de62613c4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Moth: Inline a couple of binops

This gives another 10-15% for v8-bench

Change-Id: Iaea90402179813af23008c35d344fa7f5353cf5f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Optimize some unops and binops for moth

Optimize unops for ints/bools and add some
special binops where one side is constant.

Change-Id: I4f5639e36458560e5614371733abaafd94909ab1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Use lookups in the interpreter

Implement lookup calls for the interpreter. This
significantly reduces overhead by avoiding repeated
name lookups on the same object type.

This doubles the speed of quite a few of the v8
benchmarks, and brings the interpreter up to close
to 40% of the speed of the JIT.

Change-Id: Ie8c2f5b1ca71a7329bc643c3d2158a6301a392ed
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix a regression introduced in I6e141a425c2b4cc0cd64c7f0011e7028b9147f69

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