Major Overhaul

Change how a lot of the system works.

Services and Entities automagically add themselves to their parent when
creating a new instance of them. In the case of services or "one-use"
entities, you don't even have to assign a variable, just use new.

IComponent now has a way to add/remove entities, components, and
services, as well as get a service in the parent state.