Support custom TimeZone for date formatter

Adds an additional `tz` parameter to the `date` form mapping and the `dateFormat` formatter, so users can set a custom `TimeZone` when parsing and formatting form dates. Example:

```scala
val form = Form(single("date" -> date("HH:mm", TimeZone.getTimeZone("Europe/Paris"))))
```