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. :-)
Part of it is just time spent in Ruby--I know a lot of these concepts were pretty hazy for me for a long time, but I kept coming back and they cleared eventually.

That said, a book that helped me a lot was [Metaprogramming Ruby](http://www.amazon.com/Metaprogramming-Ruby-Program-Like-Facets/dp/1941222129) (which has a new edition this year I hadn't seen!) It's not directly about `Forwardable` and its friends, but it is, at heart, about Ruby's object model. What I've found is that once I got really comfortable with how Ruby really represents objects, modules like `Forwardable` are a lot less magical.