Add FlxDestroyUtil and fix put() slowing down state switches / destroy()

FlxG.safeDestroy() -> FlxDestroyUtil.destroy()
FlxG.safePut() -> FlxDestroyUtil.put()
FlxPoint and FlxRects are now aware of whether they are in the pool or not, so putUnsafe() can be used, which is a lot cheaper