Allows editing options when initialized, this is done by having a separate copy of the Options in the script as in the manipulator. Changes are applied when entering play mode or can be applied immediately. This also avoids bugs when using enableInEditMode and changing the options when already initialized.
Properly cleans up when recompiling, the problem is that OnDestroy is not called when recompiling.
See commit messages for details.