Adds SortedIteratingSystem

to iterate over the entities in an order defined by a comparator
You're calling `getEntities()` every iteration when you could just cache it out. Also, cache the size out as well.