treemaping algorithms in objective-c pivot by middle slice and dice strip squarified split