Form helpers accept array of extra attributes

Many of the methods in the `form_helper` accept an `$extra` parameter. This pull request allows that parameter to be an associative array for all of these functions while maintaining backwards compatibility (using a string still works fine).

**Example**

Before:
```php
form_input('email', 'Your email', 'id="test" onClick="function()"');
```

After:
```php
$extra = array(
  'id' => 'test',
  'onClick' => 'function()'
);
form_input('email', 'Your email', $extra);
```