Render tasks of threads with runners.

The tasks are grouped into sets handled by runners.  The runners are
scheduled one after another with setTimeout() to avoid blocking the
browser.  For old design, the event loop of the browser is congestive
by rendering tasks.  Firefox runs them one by one, it cause Firefox
blocked totally.  This patch dispatch a new task to event queue at the
end of the previous task to avoid blocking UI.
Refactor friendly runners.
Remove old code and use friendly runners.
Merge pull request #17 from ThinkerYzu/render_tasks_with_runner

Render tasks with runner