Restore extension types documentation

The documentation on QML extension types was accidentally removed on the
big restructuring of commit 28def0bdd084989c17a157e0c4ab80c259081caa.
This restores it to a section on the "Defining QML Types from C++" page
mostly unchanged, and makes the source of the example that was already
there visible.

The reference documentation of the qmlRegisterExtendedType is added as
well, and the one for qmlRegisterExtendedUncreatableType and
qmlRegisterCustomExtendedType that was added in
fcb40ff6d71f4561401e6b2bd4d7fc706fff8eee is now fixed. It was not being
generated because referred to "QQmlEgine" instead of "QQmlEngine".

Change-Id: I1403b10076c64a4c0d760f72b06dd52c38b351a5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>