Added support for most HTML5 input types (date, email, tel...)

The following HTML5 input types may now be specified in the "form"
section of a JSON Form object:

- date
- datetime
- datetime-local
- email
- month
- number
- range
- search
- tel
- time
- url
- week

Input types such as "text", "password", "hidden", "checkbox", "radio",
"button", or "submit" work as before.

The "range" input type uses the JSON Schema properties "minimum",
"maximum", "exclusiveMinimum" and "exclusiveMaximum" to set the
boundaries of the range input field. The description of the field
in the "form" section may also impose a "step" different from 1 if
needed, but note that step is not enforced when the form is submitted.

The code has no fallback mechanism for the case when the Web browser
does not support these additional types. The input fields are just
rendered as regular text input fields in that case. In particular,
there is no guarantee that the submitted value will actually match
the constraints of the specified type (user may well enter
"hello world" in a "date" field on browsers that do not support
that input field type).