fix demo
RepeatingTask refactor

RepeatingTask is no longer a TaskContainer. Instead, it contains
a taskGenerator Function that it calls to regenerate its task
when its current task completes. This obviates the need for
the ObjectTask.clone() function, and simplifies a bunch of tasks.
Show task use in the demo