Only run timeago once

For performance reasons, only run timeago once.  And only
run it on the DOM elements that may have changed.  Otherwise,
it really slows things down because it parses the DOM
every time.  We had this same problem with the `dotdotdot`
library and needed the same solution -- only run it when
absolutely necessary.
Add a sane highlighter

This highlighter will highlight all instances of the
matched query text, not just a random instance
(which seemed really weird)