Binary Heap implementation for Objective-C with ARC