first stab at wrapping URLs for #13

I don’t really like sending HTML over the wire though
cleaner solution for #13

move some of the logic to client side, by streaming a rolled up version
of twitter media and url entities combined, but ensmallifed and
intelligently ordered.

then on the client we do the actual replacement.  this lets us still
have a clean text field for the tweet.

should probably clean this up and move all of the tweet formatting logic
into a class now that more and more of this is moving client side, but
for now lets consider that this closes #13.
start to move tweet logic into class
pass full entities and use twittter-text-js on frontend

uses twitter-text-js to do clientside replacement to avoid weird
unicode bugs in JS.

reduces complexity of our client code but makes everything more complex
and bloaty, perhaps a bad move?

may require us to do some restyling of CSS.

this is all relevant to issue #13
include at symbol in username

fix regression from twitter-text-js
open links in new tab

fixes regression from twitter-text-js change
display profile images

bandwidth constraints seem too high even for desktop on high volume
items… need to figure out whether to include.  can always disable in
CSS only for now though.

this is re: issue #14