check uti rather than file extension
don't expand tildes by hand
text frames are now removable

- deleting them from the Text._frameset list also removes them from the
layout mgr’s list of NSTextContainers
Text.flow() can take a callable

- the passed function should take a single argument (a TextFrame) and
modify its position/size. the return value is ignored
- added `idx` property to frames marking their order in the flow
sequence
- no longer recycling frames on reflow