Implements reset changes.
Saving will now reset changes to resources, changed frames that are
visible will be committed and then written but the user can still revert
the frame, if they choose to save the changes on the frame then they will
have the save dialog appear again if they try to close.