Add target result size control to TermRegionQueryHandler.

Add a target number of results parameter to
TermRegionQueryHandler. There are better ways to implement the
control, but currently it uses a simple feedback loop, adjusting a
minimum bounds size parameter when the results grow too large. To
allow the results to expand, it waits awhile and then starts reducing
that size so that more objects will be admitted. Effectively, this is
just dynamic control by the system of a query parameter with the goal
of matching the target number of results. It works well enough for now
to be usable.
Provide leaf object notifications for AggregateManagers.

Add methods to AggregateManager which are invoked when leaf objects
are added/removed from the query processor. These come from the same
thread/strand as the other aggregate events, making it possible to
trivially reconstruct a tree. This requires an updated version of
libprox which provides these events via
Prox::AggregateListener. Update TwitterAggregateManager to take
advantage of this. It now is more flexible than it has to be since it
previously was mostly OK with events from multiple threads, but
shouldn't have threading/consistency issues anymore.
Fix removed child cleanup in TwitterAggregateManager.

When clearing out a child aggregate, we need to make sure we adjust
the list of dirty children in its parent. We were deleting an element
for the removed aggregate, but we need to remove an entire range since
it may be in the list multiple times in order to support marking the
tree as dirty while aggregates are being generated.
Make TwitterAggregateManager handle changing parent/child relationships.

Sometimes, while an aggregate is being computed, its parents can
change. We collect the list of parents before processing to make sure
we have a complete list, but then we still assumed all parents from
the start of processing were still dirty and needed to be
enqueued. However, if the last dirty child is removed while it's being
processed, then this won't be true: the now dirty-child-free parent
can immediately be processed, and could even finish before the
child. This fixes that handling to verify the parent-child
relationship still exists before processing the parent.
Add editable text support to ClutterRenderer.

Add methods to ClutterRenderer and its Emerson wrapper to setup a text
box for editing. Also provide callback registration for 'activate'
events, i.e. when the user hits enter.