Move attachment screenshot handling into new classes.

Review Request #5489 — Created Feb. 17, 2014 and submitted — Latest diff uploaded

Information

Review Board
master
fbb9f7d...

Reviewers

There are now four new classes for handling the rendering of
screenshots, file attachments, and their captions. These replace the
in-template and in-view logic that we previously had.

It also restores the ability to see the change entries for removed or
uploaded file attachments and screenshots, which went missing after
moving to the new field classes.

Unlike the new DiffField, none of these classes handle recording the
change entries. This is because publish() performs many operations on
screenshots/file attachments, and it would just end up being more
complicated and less efficient to move that code out.

Changed some captions on both screenshots and file attachments. Published.
The changes were recorded (since that code hasn't moved) and the changes
were rendered.

Uploaded a file attachment. Saw its changes rendered as well.

Went to an old review request with screenshots, and saw the changes rendered
for all the uploads I've done over the years.