Support EventTapFlow with QoS requirements.

Each flow now has its own BatchProcessor (queue and thread) to further
reduce interference between taps of the same type. The EventTapWriter
will also respond to "qos" property of a tap by creating a special QoS
tap (which, for now, is just a normal EventTapFlow object).