This function returns the RGB value of the colour selected by the user or -1 if
the operation is cancelled. The user can use the dialog to define custom
colours that are available if the dialog is opened again before the program
terminates (default values are restored when the program restarts).