added family filtering

This is a initial implementation for the Family filtering....Now that I re-read it, it could cause problems if you attemp to reuse a family (via the static methods) and attemp a different filter (say you ask for a family with BOTH position and velocity, for system A you require it to exclude rendering component, for system B you require it to exclude audio component).

Due to how they are hashed, I didn't decide on a solution for this...still works for most scenarios I guess ?