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>