ResourceViewers stylized and now supports download button

The download button is opt-in, so it must be activated as follows:
```javascript
this.addDownloadButton(url);
```
The method should only be used once; subsequent calls will be ignored. Giving a non-String URL will throw an error.