A Ruby AVL tree that self-balances as items are inserted