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. :-)
ATM I don't expect any other class to need this, as everything else executes in the app context, URL and Widgets are the only exceptions I know of that need their own...

However, now thinking about it, whenever I write more object oriented shoes code (like in my presentation tool) I need to delegate calls to the app. Hence, a subscription mechanism might be nice.

Thanks for your feedback!