Beginning of a new qml parser

The goal is to parse QML and JavaScript binding expressions/functions in one
go and generate data structures that allow for the parsing to happen in a thread
and the instantiation of the object tree in another thread, just reading from
the generated data structures. This will replace qqmlcompiler and the VME.

This new way of loading QML is currently hidden behind the QML_NEW_COMPILER=1
environment variable. There's lots of work left to fill in the gaps in object
construction, Component support, Component.onComplete, error messages, etc. etc.

Change-Id: I5e40643cff169f469f0b6ce151584ffee5ca5e90
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Free the parsed QML data structure when we're done compiling the type

The QQmlTypeData is going to stick around (and keep the important stuff
in its m_compiledData member), but the rest of the data we can
free.

Change-Id: If331504055960145911fef566b309f812dca5337
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix error reporting in the new object creator

Propagate error conditions from createVMEMetaObjectAndPropertyCache to the caller
and properly clean up refcounts (using QQmlRefPointer)

Also fixed qmlscene to report errors if create() failed.

Change-Id: I75d984798a197c102078e5d5638ed92f167ab49f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix error reporting for wrong signal parameter declarations

Record the line/column in the signal and report it together with the url
if there was an error in declaring the signals.

Change-Id: Idbbee9be271b0ca55709ffc1791637595d7ebd89
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix type name cache creation

Re-use the QQmlImports object created already in the type loader, which will
take care of importing scripts and others. This gets rid of the "###" in
qqmlobjectcreator and also delegates the type name cache population back
to the loader thread. (And will allow for passing to the JS code gen, for
type resolution and propagation in the future)

Change-Id: I21b0dfc853166200b3bc864f6c0644b2f87a4586
Reviewed-by: Lars Knoll <lars.knoll@digia.com>