OpenGl_TileSampler has been refactored to better describe its logic and solve bugs:
- Tile size is now recomputed based on desired number of tiles instead of hard-coded number 32.
- Offset image now defines tile index instead of offset to tile origin.
- Added 2D array defining the number of times to sample tile for straight-forward debugging.

OpenGl_View::initRaytraceResources() now relies on tile properties of OpenGl_TileSampler
instead of computing numbers of unknown purpose / unclear logic.
OpenGl_View::runPathtrace() has been split into two methods per rendering stage.

Added Image_PixMapTypedData template class allowing to work with image data of known pixel format.

OpenGl_View::runPathtrace() has been extended with alternative multi-pass
Adaptive Screen Sampling mode, not relying on atomic floating point operations.
Although atomic operations on floats allows single-pass rendering,
such operations leads to instability in case of different calculation order.
Atomic float operations are also currently supported only by single GPU vendor.

So that ISS drops downs FPS by 40%, but for the same time image quality is usually better for the critical parts of scene.

Atomic float operations is slightly faster for this scene.
but in the worst case ISS without atomic operations drops down performance more significantly, so that atomic is preferred when available (although it is possible trying to optimized non-atomic way).

ISS drops FPS by 58%, which is much more noticeable than on slower Radeon GPU (in worst scenario the drop is several times).
However, tests simulating issAtomic (without actual atomic operations, hence producing invalid result) does not show much better times.

It should be noted, that in degenerated cases FPS drop down is actually expected: fragments with no/simple ray intersections can be passed by GPU much faster than main/critical geometry. So that without ISS such fragments will be processed faster increasing Rays/s and FPS counters (e.g. when such simple geometry covers significant part of the scene), while ISS will put GPU processing tiles with complex geometry several times leading to lower Rays/s and FPS counters. So that the real benefit of ISS should be counted by comparing final quality per second meter, which is more difficult to count (hence, vfps -time argument has been introduced to prepare screenshots at different timestamps rather than at different frame counters).

OpenGl_View::runPathtrace() has been extended with alternative multi-pass
Adaptive Screen Sampling mode, not relying on atomic floating point operations.
Although atomic operations on floats allows single-pass rendering,
such operations leads to instability in case of different calculation order.
Atomic float operations are also currently supported only by single GPU vendor.

OpenGl_View::runPathtrace() has been extended with alternative multi-pass
Adaptive Screen Sampling mode, not relying on atomic floating point operations.
Although atomic operations on floats allows single-pass rendering,
such operations leads to instability in case of different calculation order.
Atomic float operations are also currently supported only by single GPU vendor.