Show an error message if an incorrect AS handler is used
Use string comparison not pointer comparison for some QSObject iVars

This is important for the identifier since the identifier is used as a key for the objectDictionary dict.
If it happens that the two strings were the same (but not the pointers), then you could potentially remove self from the objectDictionary, and overreleasing it
Replace most NSThread calls with GCD
tidier use of GCD
Merge pull request #1385 from pjrobertson/release

ß72 fixes (GCD Etienne! :D )