Wire up task cancellation into pause button.

The way the execution logic works right now, if you cancel a task it
doesn't guarantee that the task won't be executed - if an executor block
has already dequeued it, it will run to completion. I've added a stub
"pause" task which I intend to expand into a "stop everything" type
call; there will need to be more work done on the executor in order to
support that.

Also, tasks that are cancelled aren't retried on the client.