Resolve more issues with the clock

* Each _configure() call would spawn another chain of timeout calls, which is
  not so great. Now we check the configured flag so as to only spawn one chain.
* Widgets which had not yet been __init__'d when clock was _configured()
  (updated()) would die, since their defaults were not initialized. This commit
  defers starting the clock update chian until the event loop is idle -- that
  is when there is no more initialization to be performed.