SPPoolObject is optionally thread safe

no longer requires subclasses to implement the
SP_IMPLEMENT_MEMORY_POOL() macro