add V8SynchronizationContext
refactor threading logic to use V8SynchronizationContext