Some mu4e-view tweaks (including w3m and shr html rendering options)

Just thought I'd share some tweaks I made to mu4e-view.  I should add the disclaimer that this is my first time sharing code, so I apologize in advance if it's a bit messy -- I just wanted to put it out there, and I'm happy to make whatever modifications are necessary to make it more up to form if you're interested in putting it in the main branch.

I've tried to separate everything out so it only affects the display code -- composing replies and all will still continue to use the original mechanisms.

* new custom variable `mu4e-html-renderer` which can be set to `w3m` or `shr`, so html is rendered in buffer with links and fontification -- I get a lot of html mails with shoddy text parts, so this helps a lot
* basic text-washing facilities so additional washers can be added as hooks (I've included some basically taken from notmuch, plus one to recode problematic microsoft emails with all those \222 characters)
  * slight modification to `make-urls-clickable` so that only the top-level hostname is shown in text, and the rest is available on the `help-echo` (modeline or mouseover)
* remade the various links as widgets, which makes it a little easier to navigate through different elements (contacts & attachments) via TAB (widget-forward)

Just putting it here in case it's useful to someone else.  And I'm very open to any suggestions anybody might have to make it more useful/robust -- this is a great project!