Added support for HTTP 204 No Content response
Text input now has correct type attributes

Rendered as <input type="text"> rather than <input />.
This adds better support for CSS and JS where the type attribute is used for
styling and behaviour.