Real final version, as submitted to the ACM, version

Some code had to be reformatted to fit in the new page layout, some were
pruned due to an overgrowth of the paper.