Object Pool

This is a class that manages a pool of resources. The class loads a
certain number of resources in memory. When a resource is freed, it is
not removed from memory, but marker as empty. Empty resources can then
be reused.