Metro/MessageDialogs V2

I am trying to make the dialog system very abstract so that a user can plug in their own dialogs.

TODO List:
 - [ ] Make every abstract.
 - [ ] Implement ProgressDialog
 - [ ] Fix bugs
 - [ ] Drink milk. ![img](http://fc03.deviantart.net/fs71/f/2013/233/b/b/rwby_milk_by_dinochickrox-d6j64di.jpg)