Made that stuff debuggable.
Adapted Marco's scene
Added sampling of BRDF for diffuse and glossy. Not sure if it works. :-P
Hmm... Somehow messed up light sampling...
Can now randomly choose a light source.
Fixed bug that caused a huge amount of black stuff.
Wrapped head around probability stuff for light sampling
Fixed cos(cos(...)) in diffuse material
ImportanceSampling... Still some bugs... :-/
Fixed a whole lot of bugs - thanks a lot, @panmari
Extracted reflection to own method (StaticVecmath)
Tried a bit around - however, results with combined light and brdf sampling looks not that good...
Added assertion for sum of weights
Moved cosinus term from AreaLightMaterial to the integrator because it's not needed when sampling the brdf.
Added one more if-statement to reproduce m-style brdfSampling
Added new reference image from marco
Using power instead of balance heuristics
Created some images to show afterwards