refactored pdf viewer

- returned the pdf to its original size so that the text would not be blurry
- set the background to a darker colour to differentiate between the app background
from the pdfviewer background
- also added a download button
added HTTP 413 error handling to attachment uploader
implemented error messages for attachment uploader

Before, if a file does not meet the requirements like not being
a pdf file, "nothing" happens. Now an error message appears letting
the user know about the error.

I've also added a new filter to only allow users to upload files that
are 25MB or smaller.