Leak found using LeakCanary. Steps:
1. Enable the LeakCanary dependency.
1. Open the app.
1. Open any post image, and go back.
According to `Piasy/BigImageViewer` documentation,
[Initialize section](9cc045e814/README.md (initialize)),
the app context must be used to avoid memory leaks.
Leak trace:
```
2022-09-04 19:51:38.154 13332-13332/ml.docilealligator.infinityforreddit.debug D/LeakCanary:
┬───
│ GC Root: Thread object
│
├─ android.os.HandlerThread instance
│ Leaking: NO (PathClassLoader↓ is not leaking)
│ Thread name: 'LeakCanary-Heap-Dump'
│ ↓ Thread.contextClassLoader
├─ dalvik.system.PathClassLoader instance
│ Leaking: NO (BigImageViewer↓ is not leaking and A ClassLoader is never leaking)
│ ↓ ClassLoader.runtimeInternalObjects
├─ java.lang.Object[] array
│ Leaking: NO (BigImageViewer↓ is not leaking)
│ ↓ Object[257]
├─ com.github.piasy.biv.BigImageViewer class
│ Leaking: NO (a class is never leaking)
│ ↓ static BigImageViewer.sInstance
│ ~~~~~~~~~
├─ com.github.piasy.biv.BigImageViewer instance
│ Leaking: UNKNOWN
│ Retaining 969.9 kB in 14812 objects
│ ↓ BigImageViewer.mImageLoader
│ ~~~~~~~~~~~~
├─ com.github.piasy.biv.loader.glide.GlideImageLoader instance
│ Leaking: UNKNOWN
│ Retaining 969.9 kB in 14811 objects
│ ↓ GlideImageLoader.mRequestManager
│ ~~~~~~~~~~~~~~~
├─ com.bumptech.glide.RequestManager instance
│ Leaking: UNKNOWN
│ Retaining 969.9 kB in 14808 objects
│ context instance of ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity with mDestroyed = true
│ ↓ RequestManager.context
│ ~~~~~~~
╰→ ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity instance
Leaking: YES (ObjectWatcher was watching this because ml.docilealligator.infinityforreddit.activities.
ViewPostDetailActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)
Retaining 966.2 kB in 14703 objects
key = f69c74cc-521e-4f6c-b5c8-8f787e27df75
watchDurationMillis = 5547
retainedDurationMillis = 541
mApplication instance of ml.docilealligator.infinityforreddit.Infinity
mBase instance of androidx.appcompat.view.ContextThemeWrapper
```
* Copy heading parser and adjust it to match Reddit behavior
Unlike CommonMark, Reddit does not require space after #. This behavior is
coded in a private static function, so the only way to override it is to
copy everything and use the modified copy instead of the default parser.
* Use RedditHeadingPlugin instead of regexes
* Apply plugins to post body when writing a comment
This fixes display when writing comment to a post
that contains spoilers or headings without space
* Apply plugins to parent comment body when writing a comment
This fixes display when replying to a comment that contains strikethrough text