В моторе апи почти такое же, как и в pymongo. Различия описаны 
тут. Неужели добавить в местах обращения к базе 
yield from так трудно?
UPD. Извиняюсь, ошибочка вышла. 
yield from - это новый синтаксис для написания асинхронного кода, введённый в питон 3.3. В торнадо используется просто 
yield. Хотя использовать новый синтаксис в торнадо очень легко: вместо торнадовского декоратора 
@tornado.gen.coroutine следует оборачивать методы в декоратор 
@asyncio.coroutine, вместо 
yield писать 
yield from и надо настроить торнадовский IOLoop на новый IOLoop из модуля asyncio.
Как правильно рендерить html
Так же, как и всегда. Вся прелесть декоратора корутины и yield в том, что код выходит как будто написанный в привычном синхронном стиле. Просто передавай твой результат шаблону, при рендере этот результат-генератор "раскроется" во что нужно.
Однако, я не уверен, что для чата надо использовать рендер шаблонов: по-хорошему надо отправлять сообщения через вебсокеты, на клиенте принимать их и рисовать сообщения яваскриптом.