Implement cancellation of ongoing speeches

This resolves gh-11.

also a few other goodies, including a context menu on the speech panel