Allow the user to customize input element during run time.
[x]: Adds edit button inside label. [x]: Edit button opens dialog that allows user to select type of input (boolean, number, etc). [x]: Can also specify validation attributes [x]: Some attributes related to be-reformable can also optionally be edited. [x]: Dialog also supports selecting name of input element.