ImageView improvements

- Build <img> tag programmatically, for less error-prone code and more
  maintainability
- Grab image alt and copyright from Json, expose it to the user via getAlt and
  getCopyright
- Add alt attribute to <img> tag if alt is available

Potential issue: as far as I know there's no way to distinguish between alt
being set and empty, and alt not being set at all. Sometimes it is desirable to
emit `alt=""` but at other times not. At present this doesn't allow for an
`alt=""` attribute since we're assuming it was just not set at all.