Store cache of interested entities in each system.
Perform entity activation, deactivation and removal outside of the update
loop.
Instead of throwing an exception when trying to get a Component from
ComponentBag that is out of range, just return null. This is to allow
systems to try getting a Component it isn't registered for.
Fixed ComponentType.isTypeInMask