feat(NgMessage): introduce the NgMessage directive

Closes #896