gschem: Fix typo in comment
gschem: Update documentation for tree_row_activated

Commit 69f7faf introduced a behavior change in tree_row_activated.
This patch updates the associated Doxygen documentation.
gschem: Fix inconsistent double-click behavior in component selector

Double-clicking a symbol in the "Libraries" tab of the component selector
closes the dialog (introduced by commit 69f7faf).  This patch makes this
behavior also available in the "In Use" tab.
libgeda: Use bounding box accessor in o_pin_update_whichend
Pass TOPLEVEL object to shortest_distance functions

The shortest distance between a complex or text object and a point
depends on the object's bounding box which in turn depends on the
rendered_text_bounds_* and show_hidden_text fields of the TOPLEVEL
context.  Therefore, a TOPLEVEL context is logically required to
obtain a useful shortest distance.
libgeda: Use bounding box accessor in shortest_distance functions
gschem: Use bounding box accessor
gschem: Just invalidate bounds of moved complex object

There is no need to recalculate the bounding box immediately;
world_get_single_object_bounds will do that when required.
Replace flag w_bounds_valid with TOPLEVEL reference

The bounding box stored with an object depends on the TOPLEVEL
context passed to the first call to world_get_single_object_bounds.
Calling this function with another TOPLEVEL object returns the stored
bounding box which may not be valid for that context.

This commit replaces the boolean validity flag with a reference to
the actual TOPLEVEL context for which the bounding box was calculated.
world_get_single_object_bounds checks if this matches the requested
TOPLEVEL context, and if not, recalculates the bounding box.
Don't recalculate bounding box on object updates

Since the bounding box of an object is not read directly any more,
updating it can be deferred until it is actually necessary.
libgeda: Remove recalc functions

- Object bounding boxes are now calculated on-demand by
  world_get_single_object_bounds,
- other functions are discouraged to use the recalc functions directly,
- keeping them around adds extra complexity,
so we might as well remove them.
Enable support for "silent" build rules

Silent rules are disabled by default. Configure with
`--enable-silent-rules' or run `make V=0' to enable them.

You can run `make -s' to get even less verbose output.
gnetlist: Fix `subr' argument to SCM_ASSERT
libgeda: Fix broken macro EDA_IS_CONFIG_CLASS
Merge component selector patches [#1166846]
Merge branch 'bounds-valid-for'

In the libgeda API, objects like nets, components etc. are not
associated to a TOPLEVEL context (e.g. a gschem instance).  So, in
theory, the same objects could be shared between multiple contexts.

However, the bounding box stored with an object depends on the
TOPLEVEL context passed to o_*_recalc.  Calling
world_get_single_object_bounds with another TOPLEVEL object returns
the stored bounding box which may not be valid for that context.

So there is an implicit dependency which makes sharing objects between
contexts with different font metrics impossible.

To resolve this, I replaced the boolean flag w_bounds_valid in the
OBJECT structure with a pointer w_bounds_valid_for to the actual
TOPLEVEL context for which the bounding box was calculated.  Any
function accessing the bounding box of an object must use
world_get_single_object_bounds which checks if this matches the
requested TOPLEVEL context, and if not, recalculates the bounding box.