Split FormField->validate

Split `FormField->validate` into:
```
mixed function parseUserInput(string $userInput);
void function validate(mixed $value);
```

`CM_Form_Abstract->process` would contain something like:
```php
try {
    $value = $field->parseUserInput($fieldValue);
    $field->validate($environment, $value);
    $formData[$fieldName] = $value;
} catch (CM_Exception_FormFieldValidation $e) {
    $response->addError($e->getMessagePublic($response->getRender()), $fieldName);
}
```


Hmm I think you should rather convert this test to `testParseUserInput`
At the moment you are more testing `GeoPoint`... :panda_face: 
Then you could add test for validate which would accept instance and reject (throw) any other user input.