added AJAX validation

while the server's response remains the same, we avoid a full page
refresh allows for better UX (WRT network latency and rendering, but
also more flexibility in handling the transition)

note that using Browserify incurs a fair amount of infrastructure, but
it encourages modularity and also means we don't have to worry about
asset management too much
enabled HTML5 client-side validation

specifying field types and validation attributes allows browsers to
check common patterns before hitting the network

cf.
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Data_form_validation
fixed HTML5 attribute handling

this requires WTForms 2.0 and thus Flask-WTF 0.10 - however, the latter
has not been released yet, so using a development version for the moment
(thus the dummy `setup.py`)

cf. https://github.com/wtforms/wtforms/pull/17