Relaxed implementation of mergeOverlappingClusters

- Cluster grid is now fully normalized to a cell size (now width and
  height also)
- A grid, based on clusters distribution for current viewport, is built.
  It is used in -mergeOverlappingClusters to reduce a number of distance
comparisons beetween clusters.
- Table-driven development technique is applied to reduce a number of
  adjacent cluster lookups for a given cluster. We only look for
clusters which have complementary distribution, the rest clusters are skipped.
- The key details of algorithm and underlying structures are annotated
  with explanatory comments.