Refactored the implementation to compute the clusters for the "cluster-able" zoom levels (between 3 and 15 for example) up-front in a separate table.
Also added "weighted" cluster centre functionality.
The work is in progress... (something weird happens  when I draw the tiles now and needs investigating...but it's 3AM...)