Op dialogue hackery

This adds two commits on top of my previous OpDialogue pull request. It exposes the internal MessageWidget that the OpDialogue uses for displaying messages, and in the case that that mysteriously gets hidden by something, it abandons any message handling on the assumption that it'll mysteriously get done elsewhere.

It is my strong preference that we don't merge this, but it's here as an option in case others have strong preferences the other way...