register(className, classObj, recycling = false) {
		if (typeof classObj !== "undefined") {
			this.objectClass[className] = {
				class: classObj,
				pool: recycling ? [] : undefined,
			};
		} else {
			throw new Error(
				"Cannot register object '" + className + "', invalid class",
			);
		}
	}
register an object to the pool. <br>
Pooling must be set to true if more than one such objects will be created. <br>
(Note: for an object to be poolable, it must implements a `onResetEvent` method)
@param {string} className - as defined in the Name field of the Object Properties (in Tiled)
@param {object} classObj - corresponding Class to be instantiated
@param {boolean} [recycling=false] - enables object recycling for the specified class
@example
// implement CherryEntity
class Cherry extends Sprite {
   onResetEvent() {
       // reset object mutable properties
       this.lifeBar = 100;
   }
};
// add our users defined entities in the object pool and enable object recycling
me.pool.register("cherrysprite", Cherry, true);