feat(AtMostOneMicrotaskZone): Add a zone which allows scheduling at most
one microtask.

It is not possible to schedule a microtask while the first one is not
completed. For example, it is not possible to return a Future from a
Future.