ProgressManager: Handle QFutureInterface by value in addTimedTask

QFutureInterface acts by a shared pointer itself, so use that to
guards against the QFutureInterface object being destroyed while
the timer is running.

This feels awkward as QFutureInterfaceBase::future() is non-const
for unknown reason.

Change-Id: I1d43abe0c27183af2f01cf269e2a94d2fcaba46e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>