misc: Better exception handling

 * Revert to exception type decided in print function
 * Add MidDialogCancellation exception
 * Use cancellation exception in gmf diagram commands