Improved error handling through exceptions.
Added Illuminance and spectral irradiance support.
Created encapsulating strategies.
Created default hierarchical strategy behavior to avoid code duplicates.
Fixed name mistake.
Integrated behavior of strategies about patch subdivision.