Much better... Although pretty much where I started.

We now have Entities again... and they contain their own Components.
I've also introduced ComponentSets which an Entity and System have.
If a System's set is a subset of the Entities, we add the Entity to a "processing" list that is maintained by the World.
Removing an Entity should now remove it from a System's processing list as well :)
Merge pull request #3 from grantus/system-refactor

System refactor