Remove sprites from sprite group to destroy them; also added not_ filter

To destroy sprites, just remove them from the main sprite group instead
of setting them inactive.

Removed the active flag from sprites, and added a destroy() method.

Also added a SpriteGroupSubset class, so that when a sprite is removed
from the main sprite group it can be removed from other groups as well.

Also, you can now prepend not_ to a sprite filter to return sprites for
which that flag is False.
Change signature for level.update_level()

Order of arguments have been reversed (now elapsed comes before
actions), and both are optional.