feat(NgMessage): introduce the NgMessages module and directives

Closes #896