Increase space for IMPs created with imp_implementationWithBlock

The current implementation only allows for a fixed number of IMPs
to be created in this way.
Changes to allow associated objects to be automatically deleted with their owners.