C implementation of an abstract binary tree