Fix for allowing widgets to use widget DSL methods

When we define a widget it gets a new DSL method added onto the app. But
the widgets themselves couldn't use these.

This commit adds the necessary delegator for widgets after we've added
the method onto the app.

Fixes #787
Merge pull request #844 from shoes/widget_delegation

Fix for allowing widgets to use widget DSL methods

Changelog: bugfix