Update API docs and demos for recent worker improvements.

1. Using (e.g.) timers within a library does not invalidate the correctness of a library.
2. Why so complicated? Just document that `.close` must be called if the user is done, and then the implementation of pooling is straightforward (if we ever want to implement it).