Add convars to control pool refilling
- refill_max_concurrency (default max 5 jobs queued)
- refill_mode (0 = off, 1 = main thread, 2 = InstantiateAsync)
- refill_immutable_optimization (assumes source prefab isn't being modified)
- refill_max_per_job (max number of prefabs submitted per job (default 30)
Better detection when no work is being done and avoiding burning the budget
Target refilling each pool to 50% to avoid constantly deleting extra prefabs if the pool is always full
- hardcoded for now
Simplify main thread refilling, don't worry about overshooting budget since it can be set small and we want to move to async which doesn't risk overshooting