Added message filtering to MessageWidget.

This implements the filtering that Ivan requested for the OpDialogue - I've managed to do it while still allowing direct access to the text widget for external manipulation rather than changing the API as we discussed.

I'd also like to add entries to the right click menu to allow the filter level to be set by the user (currently they can only increase the level by clicking on the message icons), but I need to do some rejigging of the menu code before I can do that, and I haven't quite got a plan for that, and am also waiting on feedback on Paulo before considering it. Hopefully this is sufficient for now...