added basic respawn/NPCs

developed ticks, cached areas because calling GetAll<T> in a timer
seemed to be buggy, then realized timer just needed to be stopped while
in loop so new threads don't spawn 50ms at a time later.