Store attachments as binary blobs

...and move base64 encoding of attachments to the message view. This
makes message rendering an asynchronous task so we fire a dom-changed
event to indicate to the parent MessageListView that it is time to
scroll down.