Modal support

Turns out the only way to have a fully awaitable dialog is to do some
fairly nasty stuff with the android message pump.  (By the time I was done poor Xamarin was dead...oops)  I didn't even look at
iOS.

Rather than chase that I've implemented a class that encapsulates a
pattern for using dialogs that is fairly clean.