Added option for cancel callback

Added option to pass a cancelCallback Action, that is called when the user cancels the dialog with the Back button. If no cancelCallback is passed, the dialog is not cancelable.

Also added null check for synchronizationContext in SetupDialog, as I was getting crashes because of this.

Sorry bout the formatting, ReSharper got a bit trigger happy...