Added basic UI for Nestable Async Events

This CL adds basic UI support for nestable async events.
Still need to find out whether the UI looks okay. But right
now it looks like the picture in the design doc below.

Design Doc:
https://docs.google.com/document/d/1Z2uqj59UEts5IiXX78mkdU4kd6e7kE3JUKPoDK97bVs/edit?usp=sharing
What do we do with non-async BEGIN/END pairs if the end is missing? I don't know if we just want to match it up to some other end event.