Code fixes, mostly accessibility

Makes appropriate fields public
BaseViewModel should be abstract
MessageKind should be public and default entry should be
Adds the demo app

that demonstrates capability of MessagePanelControl