pcb-printf: make ALLOW_READABLE constant changeable at runtime

The ALLOW_READABLE constant is a bitmask of units which old versions
of pcb can read, which is currently hardcoded to ALLOW_MIL | ALLOW_MM.
This patch replaces the constant with a function call whose return
value can be changed at runtime. (By default the function returns the
old ALLOW_READABLE value, so this commit makes no user-visible changes.)

In a later commit I will add a user-settable option to change the
effective ALLOW_READABLE value, at least to allow reducing it to
simply ALLOW_MM.
Add command-line option --save-metric-only

When passed --save-metric-only, pcb will only use the 'mm' suffix
when saving pcb files, rather than using both mm and mil.
gtk: add option to Preferencs dialog to save in metric-only mode
hid/gtk: reset tooltip_update_timeout_id properly

check_object_tooltips may run before cancel_tooltip_update,
causing its GSource to be removed, but leaving the old
timeout id.  This results in warnings such as

  (pcb:7135): GLib-CRITICAL **: Source ID 258 was not found when
  attempting to remove it

So we simply reset the id to zero before returning from
check_object_tooltips.

Signed-off-by: Andrew Poelstra <apoelstra@wpsoftware.net>
Update pt_BR.po

Signed-off-by: bert <bert.timmerman@xs4all.nl>
Remove MoveCrosshairRelative function and convert old usage to FitCrosshairIntoGrid()

The two places this function was used passed (0, 0) as the position delta, and intend
only to force a re-calculation of the grid-snap.

Make the intent more clear by calling FitCrosshairIntoGrid() directly.
crosshair.c: Clean up MoveCrosshairAbsolute() to make the logic more readable
puller.c: Fix trace printf in find_pair() to reflect actual arguments
puller.c: Fix some cases where we use int rather than Coord
Fix the AppData and update to the latest spec version

Also, include the full size screenshot as the old one was too small to be used.

Signed-off-by: bert <bert.timmerman@xs4all.nl>
Add SPECCTRA dsn export and session file (.ses) import.

Original patch by Josh Jordan and Dan McMahill.

Signed-off-by: Bert Timmerman <bert.timmerman@xs4all.nl>
Added documentation for the dsn exporter.
Added a copyright notice and license text.
Added encapsulation with quotes for netnames, components and pins/pads.

Unconditional encapsulation with quotes is now identical with dsn output of
FreePCB Ver 1.359 (translated by: FpcROUTE Ver 1.303R) and
CadSoft (EAGLE Version 5.10.0)

<todo>
Encapsulation could also be done conditional if the string contains a
dash "-" as this is done in Kicad's PCBNEW (20090216-final)
</todo>
Corrections on Ptr types.

Signed-off-by: Bert Timmerman <bert.timmerman@xs4all.nl>