 This procedure adds a
timeout to the event loop passed in as an argument, or if none is
passed (or #f is passed), to the default event loop.  The timeout will
repeat unless and until the passed-in callback returns #f or
timeout-remove! is called.  The passed-in callback must be a thunk.
This procedure returns a tag symbol to which timeout-remove! can be
applied.  It may be called by any thread, and the timeout callback
will execute in the event loop thread.
</p>
<p>This procedure should not throw an except