Pass options through on DSL link

Calls to the link method on the DSL weren't passing along options properly when
presented as a hash in the last argument of the call. These were instead
interpretted as a final text element (see #588 for an example).

Shoes::DSL#pop_style already exists to handle exactly this, just needed to get
called correctly from the link DSL method.
Support passing click:"/url" option to Link

Passing an option value :click with a string is treated a "url" that we hand
off to the App#visit method for dispatching.

This addresses part of #588 in which clicking the links wasn't bringing up the
incident text it should have. There are other layout issues there, so it won't
be fully resolved by this change.
Support calling Link#click to change block

Originally the Shoes::Link class would only support setting the block at
instantiation. Shoes3, though, provided the #click method to override the
existing block on a link.

This commit restores that. Along with plumbing it into the Link class, it also
had to change the Shoes::Swt::Link class's wiring up to the click listener so
it wouldn't capture the original block but instead delegate to the link itself.
Apply default element styles to Link and Span

These were previously ignored, but now that both these elements can get their
options set during construction, look up the default styles and use them.
Comment for tricky bit around click block on link
Merge pull request #634 from shoes/link_click_option

Additional Link click options