feat(Zone): Add SingleMicrotaskZone

Allows registering a future which then callback has to be synchronous.
That means that when the future resolves it is not allowed to schedule
more micro-tasks.

Closes #877