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. :-)
Does anyone know of a better way to resolve the load order dependency? I.e. Shoes::URL and Shoes::Widget both need Shoes::App to be defined while Soes::App needs the two.. so this was my fix. I contemplated a system where classes have to subscribe themselves but since it is not dynamic found the constant + this the simpler solution.