This class is a rewrite of the Nibble Forms class for validating and generating HTML5 forms.
It can compose a form adding several types of fields specifying the type and other parameters that may define validation rules.
The class can compose and generate the form output by adding form start and end markup, fields, labels and validation error marks.
It can also validate the form field according to the respective validition rules.
Fields are implemented by separate classes based on an abstract form field class. Currently it provides field classes for Captcha, Checkbox, Email, File, Hidden, MultipleOptions, MultipleSelect, Number, Options, Password, Radio, Select, Text, TextArea and Url.