First try on making the tagcloud algorithm more flexible
merge of conflicted versions