Added aspects and a build script.

The aspects implementation is *somewhat* good.  It should probably
be immutable and pre-compute comparisons.

The actual EntitySystems should probably just keep a list of their
entities, so that instead of making a huge loop through all the
entities for each entitysystem, we can just loop through everything
that exists.