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. :-)
Hey quick question: I've looked now and again through all of this stuff about `Forwardable`, `def_delegators`, `public_instance_methods(false)` pretty carefully (going line by line, using `p` and `inspect`, using the docs) and gotten a hazy idea of what all is going on. But shortly after learning it, I forget it again! (Perhaps due to complexity and unfamiliarity.)

So my question is: how can I someday aspire to say that code like this is "definitely clear"?! :) 

Just persevere and let it soak in over the years? Or can you recommend a place in our code to explore and play around, a blog, ... something else?  I've only really looked at Dimensions, since Widget has always felt way over my head when attempting to read through it.