paginate() is now a generator

- Text objects now get created one at a time (which is noticeably lower
latency when dealing with large numbers of pages)
- had to drop the .pp attribute since the final page-count is now
unknown while iterating
- otoh, scripts can now alter page dimensions within the loop and the
text will reflow accordingly
keep page size consistent during paginate() runs

- whatever width & height you pass to paginate() is equivalent to a
`master page’ dimension
- while iterating over pages, you can change their dimensions and text
will re-flow, but (unlike .flow()) the next page in the sequence will
not inherit that modified size
don't reset the graphics state in export()

- using `with export()` or `with obj.frame/page’ still clears the
canvas and isolates changes made within the block
- BUT they no longer reset colors, transforms, fonts etc back to the
default. this *seems* like the most sensible behavior for real-world
use…
cleaned up indentation logic

- combined the \n\n-scanner in .append() and the indentation-preserver
in .overleaf()
- both now call the Text._dedent class method