Functional tests for text chat

While these new tests pass locally, they don't on Travis. I'm suspecting this is because the travis environment has no media device installed/available.

**Blocked: don't merge this until the issues are addressed.**