Example System

Hi Adam,

I'm attempting to use this Entity framework you've put together rather than reinventing the wheel, but I'm not sure if I'm approaching this right.

In this pull request I've updated some of your classes with new functionality and included an example System that accesses Components. It would be great if you could tell me if I'm on the right track.

I have added code to Systems allowing them to track which entities they should run on. How would you typically find this subset? (The combination of components on each entity perhaps?)

The Position component needed something to initialize its type property.

I also had to initialize the dictionaries stored in EntityManager's componentsByType. Otherwise they were always nil.

The MovementSystem is an example meant to show you why the changes above were (perceived to be) necessary. Again, if I'm going about it all wrong, please point me in the right direction.

Thank you for all your work writing up these methods both on your blog and especially on github, the effort is much appreciated.
Patrick