summary: mostly cleaning up some bad code, and improved how element mutation detection works (so we can owowify mutated element better)
- no more global variables (except maybe "local" function variables in the IIFE)
- removed initObserver function because of code smell
- added state-checking for window location href and document title, making them always owowified
- renamed some function to better names: owowifyElement -> owowifySubtree, owowifyNode -> owowifyTextNode, isElementValid -> isElementValidOwowify, and more
- rewrote subOwoEmote function because of bad code
- improved substitution of "l" in the owowify translation process to be less disruptive. notable change when using this is "lmao" is not translated to "wmao"
- better variable naming in ".replace" function callback
- removed author note