remove(item) {
		let found = false;

		if (typeof item.getBounds === "undefined") {
			// ignore object that cannot be added in the first place
			return false;
		}

		//if we have subnodes ...
		if (this.nodes.length > 0) {
			// determine to which node the item belongs to
			const index = this.getIndex(item);

			if (index !== -1) {
				found = remove(this.nodes[index], item);
				// trim node if empty
				if (found && this.nodes[index].isPrunable()) {
					this.nodes.splice(index, 1);
				}
			}
		}

		if (found === false) {
			// try and remove the item from the list of items in this node
			if (this.objects.indexOf(item) !== -1) {
				remove(this.objects, item);
				found = true;
			}
		}

		return found;
	}
Remove the given item from the quadtree.
(this function won't recalculate the impacted node)
@param {object} item - object to be removed
@returns {boolean} true if the item was found and removed.