fix typo in documentation
Extract JobQueue interface and change the former JobQueue to AsyncJobQueue.
Make JobHandle a nested class of Job.
Move some code around to reflect previous changes.
Synchronous job queue (jobs executed from main loop).