Do not lazily overwrite user defined values

Since UIDefaults are put if TaskDialog class is loaded by JVM (usually on the first code occurrence that uses TaskDialog class), all values that has been put before will be overwritten. This prevents customization.

Workaround is to initialize a TaskDialog instance very early, just to be sure that UIDefaults has been put and change the values after this.

My Fix ensures that the UIDefaults will not be overwritten if already present.