http://forum.dlang.org/thread/dndicafxfubzmndehzux@forum.dlang.org http://forum.dlang.org/thread/uzrbmjonrkixojzflbig@forum.dlang.org#epost-viwkavbmwouiquoqwntm:40forum.dlang.org
TODO: Use size_t for _lower and _upper instead and reserve _upper = size_t.max for emptyness?
TODO: Should lower and upper operate on code units instead of code point if isNarrowString!Range. ?
TODO: generalize with stride
Sliding Splitter.