Further work on the form editing - now has a few different field types with custom options.
Also now uses separate templates to render the resulting form.
Still need to add some JS logic to add options.
Tidied up the front end for adding options.
This is a bad idea. Will implement a handler which takes all the submitted data and validates/stores.