Finished the GUI to allow editing without XML

Work still to be done:
Integration tests with AI
Drag and Drop/Reordering
AI restricted use
This seems kind of roundabout.  Would it be possible to pass parameters for the error message into `parse_date` to customize the message in the exception it raises?