Refactor how FormHelper manages its context.

Having to call create() in every test is going to get lame. Instead,
the context can be lazily built making testing easier.
Update textarea() to use new widget features.

Add name attribute parsing back in. Converting name attributes is still
required as marshalling code expects arrays from the POST data.
Fix up text() and password() tests.

Restore 'default' key feature.
Add docs and simplify code for initInputField.
Unskip tests for html5 inputs

HTML5 inputs are provided by the same method as text so they can be
enabled again.
Merge pull request #2830 from markstory/3.0-textarea

3.0 textarea, text and password types