QtCompositor: Make ExtensionFlags a QFlags

This simplifies the creation and use of ExtensionFlags.

Change-Id: Ia72bbc3f712759b231d8543a4f13ef2fdf6260f3
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
InputMethod extension fixups

Add a missing slot decorator and a missing return statement.

Change-Id: Iad7944b1b9d35ce45818d3be418dc897d7deed69
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: simplify retained selection implementation

There is no reason to use a function pointer to handle selection override.

Change-Id: Ic25d8f7cef97ce25666022e5119546647ec526f0
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: Handle destroyed DataSource objects in DataDevice

Fast selections can create dangling pointers to DataSource objects, so
make sure the DataDevice is aware of DataSource destruction.

Change-Id: Ibcb7eec3b3403bd6ee53b6f09815d78148f65b4d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>