InTextAnnotationParser to use composition

- Partial revert of the #303 revert
- Add `MagicWordFinder`
- Add `RedirectTargetFinder`

Relates to #405