Create abstract interface that will be implemented by MessageComposer

Let the MessageCompose class be accessed by members of Gui:ComposeWidget
and tests_Composer_Submission by their own copy of ComposeWidget*.
Let Composer::Submission get a MessageData* through ctor.
Make Composer::MessageComposer implement the interfac defined by
Composer::MessageData