[#87,tm.js][s]: use media field if present (fixes #88) and generally normalize backend data more.

* headline (for title)
* text (for description)
* media (and support caption, credit etc)