Fix leaking of Perl 6 objects passed to Perl 5 code.

Replace closures by an object array and only pass the index in this array
to Perl 5. Use this index to get back to the Perl 6 object on unwrapping.
A destructor of the Perl 5 wrapper removes the Perl 6 object from the
object array and allows the GC to collect it.
Fix leaking callbacks and re-use free'd slots in the objects array

Replaced the objects array by a ObjectKeeper class that re-uses free'd
slots. The free slots form a linked list of pointers to previously free'd
slots. Thanks to ParrotPointerArray for that idea.

Replaced the closures passed to p5_wrap_p6_object by ordinary sub
references.

This fixes all memory leaks related to passing Perl 6 objects to Perl 5
code.