Route widget update UI through Save button click event

Always attempt to re-focus last focused element
Use document.activeElement instead of manually tracking focus
Add live previews of widget changes as-you-type