Allow multiple feature declarations

Previously a second feature declaration would wipe out the initial one. With this patch if you want to separate out your declarations or in our case if you're using isolated engines and have one declaration per engine all the definitions/features will be available in FeatureSet.

That leaves open the possibility of collisions, something I want to get fixed later. Even with the possibility for collisions this makes Flip significantly more useful which is why I urge you to still pull this.