[x] Modify pools and list to be more efficient [x] Rework Entity:give to remove any previous component and re-add it. [x] Add Entity:ensure (maybe?) [ ] Put pools in the Instance and invert dependency. [ ] Share pools between systems [x] Remove System callbacks [x] Put .added and .removed in pools so they can be iterated over [x] Implement assemblages [x] Do :apply automatically with marked entities [x] Remove Entity.components. Use Entity[Component] instead [ ] Add missing documentation [ ] Fix current documentation [ ] Write unit tests [ ] Write examples