Fixed #16630 -- Support HTML5 input types

Added NumberInput, URLInput and EmailInput widgets to match
number/url/email HTML5 input types.
Thanks Jonash for the report and the patches.