use def_delegators instead of method_missing for Shoes::URL

* we know all the methods we want to delegate in advance, so
  def_delegators communicates that better
* also it is (presumably) faster than walking down the method
  chain once already
* also it is less prone to errors... e.g. trying to delegate
  methods we do not want to delegate
Make setting the parent of a widget more understandable
Merge pull request #608 from shoes/replace_method_missing

use def_delegators instead of method_missing for Shoes::URL