modified spectral widget to use custom wavelengths from input

Hi Franz

I've made the modifications you've asked. I've also made sure that all tabs are replaced by spaces :)

I had to make some changes to the base interfaces to allow me to pass more than one value(in this case wavelength as well as data). 

Please see if these are okay.