Relaxed implementation of mergeOverlappingClusters
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.

foursquare/kingpin,ppamorim/kingpin,foursquare/kingpin,wonknu/kingpin,stanislaw/kingpin,stanislaw/kingpin,stanislaw/kingpin,denivip/kingpin,wonknu/kingpin,itsbonczek/kingpin,foursquare/kingpin,lydonchandra/kingpin,shawhu/kingpin,ppamorim/kingpin,lydonchandra/kingpin,itsbonczek/kingpin,shawhu/kingpin,itsbonczek/kingpin,denivip/kingpin,ppamorim/kingpin,denivip/kingpin,stanislaw/kingpin,shawhu/kingpin,lydonchandra/kingpin,wonknu/kingpin