mix IDE M2

Integrated debugger;
Hit F5 and you can step forwards/backwards through execution.

appEngine() return an QQMLApplicationEngine which is used to instanciate a QML control on the fly using his URL (qrc:/qml/BasicContent.qml for instance).
unique_ptr is used to ensure that QQMLApplication is deleted without having to call delete, but Qt API requires ordinary pointers (QQMLComponent).
Maybe I miss something, but I think that even if I return a raw pointer the object will be destroyed when unique_ptr goes out of scope. 
The tricky thing is that we need to ensure that AppContext which host this unique_ptr is not destroyed before customers of AppContext, but this is for now OK, AppContext is destroyed when the last window is closed ... but maybe there is a way to be more consistent about that.