Form Element Directory: Re-think error handling
Form Element Numeric: New element type 'numeric'
Remove dead code
Use get_form_element_class() to get matching class
Define form element aliases (e.g. 'integer' maps to 'numeric')
Form Element: Before checking errors get_data()
Form Element: set_request_data() just sets $this->data

Don't pass data from set_request_data() to set_data(), as internal representation might differ from actual value
Form Element JSON: internally save as encoded JSON, convert from/to data in set_data()/get_data()
Form Element JSON: (JS) catch parse errors
Form Element JSON: Print errors on parsing failure
Form Element Numeric: Use string representation internally, convert on get/set
Form Element Numeric: check validity of value
set_data() changes only passed keys
Form Element *: Specify default value