Attachments View Implementation

This is the attachments view -- add attachments to it and it displays them inline, scrolling horizontally when there are too many. When you click on an attachment it opens in a fullscreen dialog. Lastly, you can have it show an add attachment button, and receive a callback when the user clicks that.

#145 Should go through first.
Okay, I believe @stravant is doing that, can we push this through and resolve it when @stravant does his thing? Also these commits are in #145.