Extend FormField types with inheritance, dynamically load field types.

While trying to extend AbstractFormField, I had trouble modifying the types of fields used in the Wagtail Admin interface. 

By moving the model's "field_type" choices into the model's namespace, it allows subclasses to more easily override it. Also, when the model contains the choices, the forms can then have direct access to them internally without worrying about circular dependencies and then the FIELD_TYPES variable in forms.py isn't necessary. 

I think that this makes it more easy to extend, but is this a better approach to handling form fields?