Clean up handling of illegal names and enable in new compiler

Access to the identifier hash may not be thread-safe from the loader thread, so
use a QSet copy instead (which is cheap because we don't detach).

This also enables the checking for illegal types again.

Change-Id: I8c3ec1fd0fc01cce3269e206f479a90bdbbc89dd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Add support for parser status callbacks

Change-Id: I62ce1fab2537d533d1d2052a7f5edc5061adf75e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix determination of id objects within component boundaries

Don't draw the boundaries at Component {} level but at the level of the
element inside the Component, so that we can still get the id of the Component
element itself within the surrounding scope.

Also removed unused data structure.

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