#26318 global engine progress overlay

Adds **internal** functionality to pop a progress UI to indicate that a long running activity is happening:

![screen shot 2014-09-02 at 15 37 32](https://cloud.githubusercontent.com/assets/337710/4119980/122add82-32af-11e4-8f5e-618115a8eabc.png)

The intent is to use this for the path cache sync scenarios which may take longer than usual, for example a full sync. The progress only pops up on engines which have UI (QT) capabilities - other engines will log an info message instead.
is  it worth using execute_in_main_thread() for this - just in case it manages to get called from a secondary thread?