The FigureContainer interface is implemented by any
visible component that can contain figures. It includes
all of the methods in VisibleComponent and FigureSet,
and adds methods related to containment of a known
and finite set of figures.
Test if this container contains the given figure. As a general
rule, the implementation of this method is not required to be
efficient -- O(n) in the length of the list is acceptable.
Clients should note that, in general, a much better way
of making this same test is to check if the parent of the figure
is the same object as this container.
Given a rectangle, return the top-most descendent figure
that hits it, and is accepted by the given filter.
Otherwise, return null. Implementors
should not call their own hit() method, but only
those of their children.
Note that a region is given instead of a point so
that "pick halo" can be implemented. The region should
not have zero size, or no figure will be hit.