Makes RenderForm use textarea-element when form type is `textarea`

This fixes #662.

Before rendering a form field in RenderForm the value of type is checked: If it is a valid type for a HTML input field it is rendered as an input. Otherwise it is rendered as an HTML tag of the type ie. <textarea>. 

There are also some smaller refactorings:
  * the parsing of the content of the `form` structTag was moved in a separate function and tested.
  * the rendering of the form fields was moved into a separate function and tested as well.