Add promises to the widget framework.

Parallel to @jasongrout 's solution (human race condition).
No- Casper has a default timeout for all wait operations.