In anticipation of adding a second option which doesn't share the same respect for special characters, it's necessary to not rely on these for doing pre-processing for length and punctuation preservation. Therefore, refactor with a more elegant approach, starting with parallel extraction of content and punctuation.
Other small improvements:
get rid of spurious whitespace around punctuation
fix small problem with line-final hyphens turning into spurious whitespace
allow for multi-character midpoint-finding sequences
reorganization, type hinting
This also finally cleans up the vestiges of the splitter server from the skrutable wrapper.
In anticipation of adding a second option which doesn't share the same respect for special characters, it's necessary to not rely on these for doing pre-processing for length and punctuation preservation. Therefore, refactor with a more elegant approach, starting with parallel extraction of content and punctuation.
Other small improvements:
This also finally cleans up the vestiges of the splitter server from the skrutable wrapper.