Add support for textarea rendering option for String property type

Plugins should be able to tell the UI how to render a given property. This should be done by exposing rendering options on properties and allowing them to be controlled via annotations.

Example:
```
@TextArea
@PluginProperty(name="foo")
protected String fooProperty;
```

Would end up being rendered as a text area. This concept can be expanded in the future to allow plugins finer control over exactly how they present input controls to the user.