Make widget addition, deletion, and reordering all model-driven

Allow old widgets to be resurrected, e.g. via Settings Revisions
Ensure widgets added in customizer persist