Creates a new object pool.
Scoped use of a pooled object. Automatically recycles the object after use.