racket/snip: fix bug in splitting string snips
racket/draw: fix `ok?` result for too-large bitmap creation

Use cairo_surface_status() to check whether creation succeeded.
text%: avoid O(n^2) behavior on string insert

Break large inserts into smaller chunks by successively halving the
chunk, instead of successviely peeling off a small part. Also, avoid
traversals and re-traversals of a long line while checking and
breaking up lines.
{chaperone,impersonate}-procedure*: fix argument propagation

Fix the "self" argument propagation through an impersonator that has
no redirection function (but that probably has impersonator
properties).

Closes PR 14852
make-path->relative-string: handle immediate directory path
raco setup: better error reporting for failure during doc move