An object pool that can allow reuse of objects.
A pooled object must add the mixin Pooled to work with this pool.
You can define the minAvailable and growthFactor to control the pool size.
The growthFactor is a multiplier on the inUse count.
So if 100 are in use with a growth factor of 0.15, the pool will maintain
15 available objects.