Changed TopoContextMenu so that the items in the menu are constructed "late"
based on an OperationContext. This makes it easy to update the menu based on
the current target and the state of the GraphContainer. Pulled all of the
enable/visible/listener logic into the TopoContextMenuItem class. Added checks
to the group operations so that they don't display when the hop provider is
in use (but this isn't working yet).