introduced view model to move logic out of template

there's a risk that we're just introducing yet more indirections (like
iQvoc needs more of those... ), but it does seem more manageable by
providing a more immedate overview of available properties - however, it
remains to be seen how this approach fares with more complex branching,
as that _might_ lead to awkward duplication and dependencies

for the moment, I opted not to use a separate library (e.g. presenters
via https://github.com/drapergem/draper) as this seems straightforward
enough to not warrant such additional complexity

caveats:
* for some reason `auto_link` doesn't work (cf. inline comment)
* definition class and index are hard-coded (cf. inline comment)
* context (`ctx`) passing should not be necessary, but I wanted to avoid
  `instance_eval` - not sure there's an elegant solution here
* only a few properties have been ported to `@view` so far - eventually
  we probably want _everything_ to go through @view
* that `if...else` for representation icons belongs might seem like it
  belongs into the view model instead - but that would introduce HTML
  into that layer, which seems wrong

/cc @mrreynolds