Item delegates: refactor and unify code

We had code duplication all over the place between QItemDelegate
and QStyledItemDelegate. Refactor that code in QAbstractItemDelegatePrivate,
so that both can use it and we'll have one place to fix instead of two.

Change-Id: I0c5decdfac7b0dc6e001c8c970491080f7b2e75f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Make QSysInfo enum types available cross-platform

This makes the WinVersion and MacVersion enums accessible in platform
indepedent code to avoid the need to use #ifdef Q_OS_* chains in
user code, leading to fewer platform-dependent code paths and better
maintainability.

To indicate "this is not a Windows based OS" a enum value
QSysInfo::WV_None (with value 0x0000) in QSysInfo::WinVersion
is introduced. This keeps the WV_*_based masks usable.

To indicate "this is not a Darwin based OS" a enum values
QSysInfo::MV_None (with value 0xffff) in QSysInfo::MacVersion
is introduced. 0x0000 might have been preferable for (not so
important "consitency" with QSysInfo::WV_None), but is already
taken by QSysInfo::MV_Unknown with a different meaning.

Change-Id: Ib395e0efba58558f31f4e0806f7333165aa90aa5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Fix a typo in code comment in moc

Change-Id: I772ba33660fd368bfab5d3aaf4c645dc0949ce73
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>