2.6 maxlength

Add textarea maxlength support.
Resolves https://github.com/cakephp/cakephp/issues/2137

While adding it I stumbled upon a buggy behavior in the current implementation of maxlength.
It is skipped, once "type" is passed manually - which it shouldn't.
If you have a username field  (varchar 100), this would add the maxlength attribute:

    $this->Form->input('username');

While this would not:

    $this->Form->input('username', array('type' => 'text'));

Both should be treated equally, though - they mean one and the same.

This resolves this, as well.

PS: the fix should maybe be backported to 2.5, as well...
The question: How can the code be refactored to not include the text column ones.