add BxDFs and implement BSDF as container of BxDF
remove bxdf-probabilities for sake of good code
improve readability
tweak llvm flags

See http://donsbot.wordpress.com/2010/03/01/evolving-faster-haskell-programs-now-with-llvm/