Request 30224: Search Facility for Browsers

A search facility has been added to the System and Context browsers
and to the Dependency Graph.

Searching is controlled through a search dialog.  To open this dialog
select either Usage -> Find... from the System or Context Browser or
select Dependency Graph -> Find... from a dependency graph window.
The search dialog can only be used to search the window it was opened
from.

The search dialog has a name telling you what it is used to search
(`Search Dependency graph', `Search System Browser', `Search
Browser').

The top of the dialog allows you to pick the type of search:
  Match Whole Name -- find nodes who's names exactly match the word
                      entered by the user;
  Match Part of Name -- find nodes who's names contain the word
                        entered by the user.

In the System and Context Browsers only the final part of the name of
the node is matched, e.g. `array' rather than `Array.array'.

The bottom of the dialog allows the user to enter a word to search
for.  Initially this is the current selection of the browser.

Enter a word, pick a search type and click Apply or OK.  If no items
are found you should hear a beep, otherwise...

When a node has been found, it will be selected, moved to be visible,
and you will be asked whether you want to `Search for more matches?'.
Clicking Yes will continue the search, clicking No will terminate the
search.

When no more items are found the search ends (you should not hear a
beep).  When the search ends the graph expands so that you can see all
the nodes which were found.  If you let the search complete (clicking
only Yes) then all the paths to all the nodes found will be visible.

