feat(VmTurnZone): VmTurnZone can handle scheduling microtasks.

To customize how VmTurnZone handles microtasks assign a function to
VmTurnZone.onScheduleMicrotask. This method will then be used whenever
a microtask is scheduled instead of the default implementation.

Closes #976

Closes #979