Methods defined in widgets are available in URL instances

This is the problem that methods defined through a widget definition were not accessible from Shoes::URLs (see #890)

* Shoes::App handles method definitions and subscribers
* fixes #890

Should be good to go, would like a code review, though. :-)
If we're expecting to have a lot of other cases of this, a simple subscription mechanism on `Shoes::App` that the classes themselves (i.e. `Widget`, `URL) call during their initial loading would be the right approach.

But with such a short list, I like having them all called out explicitly here rather than spread across the other implementation files. Nice use of Ruby's open classes.