Added message filtering to MessageWidget.

The filtering is specified using MessageWidget.setMessageLevel() and queried with MessageWidget.getMessageLevel(), and applied to a text buffer which contains all the messages. This allows the filtering to be specified after the fact, and for messages to be made visible even if they were filtered out at the time of handling. The default level is Info, meaning that Debug messages are not displayed by default.

When messages are available but filtered out, the left hand column of buttons will show that fact, and clicking on a button will raise the level to make the messages of the appropriate level visible.