add left click handler to labels
add to font::ttext an interface to pango fcn xy_to_index

This is used implicitly in the "get_column_line" function but
sometimes you just want the index, for instance, if you want to
resolve whether a link was clicked on.
get text index for a text label when it is clicked on
replace "get_string_index" with "get_token"

The get_token function, for a font::ttext, takes a coordinate
position and a list of delimiter characters, and returns the token
pointed to, if the position is in bounds, and the character being
pointed at is not itself a delimiter. Otherwise it returns the
empty string.

We also add some debugging output to the label click handler,
so that on log channel gui/event, we can see example tokens and
whether they look like URLs.
add support to open clicked links, after prompting user

If the user clicks on a token in a gui2 label that looks like a
link, prompt them if they want to open it.
add "link awareness" to font::ttext objects

If link awareness is enabled, then tokens that look like links
will be rendered thusly, and a "get_link" function is provided
to check if a layout location is pointing to a token which was
rendered as a link.
link-aware rendering of labels

This commit adds a new property of font::ttext, whether it is
"link aware". Link aware text has tokens that look like hyperlinks
formatted thusly, with coloration and an underline.

A `get_link` function, taking a layout location, returns a link
token if it is pointed to at that location, and link awareness
is enabled, and the empty string otherwise.

All gui2::tcontrols may now have their text labels set to be link
aware if desired. The gui2::tlabel constructor automatically sets
these to be link aware. The gui2::tlabel click handler is set to
use the `get_link` function instead of the `get_token` function.

Link awareness is also registered as a property of [text] fields in
gui widget definitions.
if opening links is not supported, tell the user so when they try
add right click handler for links in labels, copies to clipboard

Pretty much the same as left click otherwise
move link_aware from being a property of controls to prop of labels

tcontrol now gets it by a virtual method, whose default impl is
false, and is only overrided in label.

This refactor cleans things up, since link aware is really only
relevant to the click handler of label.
make labels read "link_aware" property from their widget defn

This adds a "link_aware" key to label definitions, and C++ tlabel
objects no longer initializer this to true, but instead read the
value from their definition configuration.
add link_color property of label defn, passed to font::ttext

This commit permits link_color to be specified in any label defn,
at the same place that link_aware is specified. It will be passed
through to tcanvas and finally font::ttext in a similar manner as
link awareness, and used for the color parameter in any link
formatting. We choose a default value of #ffff00 everywhere,
matching the definition currently in the help browser for cross-
references.
move default values of link aware, color out of tcontrol header
fixup some comments on label definition args
Merge pull request #300 from cbeck88/clickable_labels

Clickable hyperlinks in gui2 labels