Model to Form test improvments.

Now uses HTML5 fields where available and handles optional & basic
fields.