Issues/no fuzzy images

This patch does a few things:
- `ReaderMediaQueue`, `ReaderMediaView`, `ReaderVideoView` and `ReaderImageView` are deprecated with this patch. 
- `WPTableImageSource` is updated to download in batches vs a fire-hose (we don't want 20+ images downloading at once).
- `WPTableImageSource` is updated to optionally use Photon's `fit` method to prevent up-scaling images beyond their natural size.
- Adds a service for downloading thumbnails for videos. This is refactor of `ReaderVideoView`'s methods.
- Updates the `WPRichTextView` (and friends) to use new media classes introduced.
- Images displayed in the reader detail body will never be displayed larger than their native size.
No more fuzzy images. 

A trade off with this update is that small images will still be rendered centered in the reader detail.  This is currently a limitation of `DTCoreText`, but is preferred over scaling up.

Closes #1979 #1812 #1695 and #1317

I'm not sure this is even an issue, but I think this might get triggered multiple times:
- t=0 First image loads and causes layout
- t=1.5s Second image loads, and calls `dispatch_after`
- t=2.1s Third image loads, causes layout
- t=2.5s Fourth image loads, calls `dispatch_after`

Now there are two `dispatch_after` blocks queued, although the second will bail as soon as it checks `willCheckPendingDownloadsAfterDelay`. It seems safe now but there might be trouble if we change this code in the future without realizing this behavior.

I think I would have gone with a timer that gets invalidated on layout.