QGCMessageBox implementation

Subclass of QMessageBox which re-implements the static public functions. There are two reasons for this:
1) The QMessageBox implementation on OSX does now show the title string. This leads to message boxes which don't make much sense. So on OSX we set title to text and text to informative text.
2) If parent is NULL, we set parent to MainWindow::instance. This prevents message boxes which can go behind MainWindow

This fixes Issue #993