synthDrivers._espeak:
* stop(): When pulling items out of the queue, call task_done() to indicate that each task is finished. Any parameter changes that are requeued will be treated as new unfinished tasks. This means that if there are no operations in progress, unfinished tasks will be 0 as it should be.
* _execWhenDone(): Instead of checking if the queue is not empty or speech is currently in progress, just check whether there are any unfinished tasks. unfinished_tasks is undocumented, but is exactly what we want. The previous checks could fail undesirably due to a race condition. There is still a slight chance of a race condition with the new code, but it shouldn't matter anyway; it is okay to occasionally queue tasks unnecessarily, but not okay to do the reverse.
This should fix the regression in the raise pitch for capitals functionality.