[new compiler] Fix group property initializers

Bindings with an object initializer without a type name must be
group properties, instead of regular object bindings. Fixes

    font {
        pixelSize: 24
    }

versus

    font.pixelSize: 24

Change-Id: I468caa48be13f91f88545ef001ac9aaa46ba5d14
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Preliminary support for script string properties

These should later get resolved at compile time, like enum assignments.

Change-Id: I2f40c8d13330d2a101f79af12fe708f466eef225
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Initial support for QQuick state changes

This requires the use of the customer parser together with lazy binding compilation

Change-Id: I45d8a206267d3e0c807771a79645168254be9c95
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Clean up property cache / meta object builder

Move the outter loop into the builder class itself, use a vector instead
of a list (we know that it's a fixed size and we only do indexed access)

Change-Id: I933f0496ea47b3bc7c2bebde7f1a14b4f603b4c3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Add support for value interceptors / on-assignments

Behavior on x { NumberAnimation { ... } } is implemented by assigning a value
interceptor (Behavior is a sub-class of that) to the x property in a special
way. That requires various things:

* A VME meta-object must be created and installed on the surrounding object, in
  order for the interceptors to work
* On assignments need to be excluded from duplicate property assignment checks
* Behaviours require also finalization callbacks on component creation

Change-Id: I40250b71081a2e315cda3bdb6677fa4b227fa443
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix implicit component definition for default properties

When trying to determine if an object binding should be a component or not
and we don't have a property name for the binding, then we must check if the
default property happens to be a QQmlComponent.

Change-Id: Ie21fc438b8b2d86caa3991794e6eac688c074440
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix error reporting location for custom parsers

After the binding of QQmlCompilePass to QQmlTypeCompiler, I forgot to
change the customer parser handling to also report the errors correctly
back to the QQmlTypeCompiler. Instead they were collected locally with an
empty url.

Change-Id: I5ee527a77e27c0339c507f326a3b0f0837353db3
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Add support for type and enum resolution for custom parsers

This is in preparation for listmodel support, share the code for resolving
types and enums between the old and the new compiler, as all it needs is the
imports.

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