Remove cucumber as a runtime dependency.
Use the term "child widget" instead of "sub-widget".

[Closes #22]
[widget] Add spec to test .widget macro.
[widget] Tweak documentation.
[widget] Make spec uniform.
[widget] Make class names in spec unique.

This prevents "redefined constant" warnings.
[specs] Use the container root selector if one exists.
[widget] Allow defining child widgets with no selector.
[widget] Add a method when defining child widgets.
[widget] Handle reloads using new Checkpoint class.
[widget] Reorder methods.
[widget] Reorder specs.
[widget] Add spec for #inspect.
Add poltergeist as a development dependency.
[widget] Test widget using available drivers.
[widget] Compare root nodes on reload.
[widget] Fix reload spec for poltergeist.
[widget] Degrade #inspect if Node#path is unavailable.