Rename Text => Basic

Calling it text was a bit misleading as it can make many kinds of
*basic* inputs.
Add button widget & test case.
Add missing widgets to registry.
Merge pull request #2690 from markstory/3.0-button

3.0 Add button widget