fix system, thread pool, and tests. Add system test
heavily refactor how components and entities work together. Note: tests are incomplete