Always create Frame objects with the same set of properties

This avoids some bailouts.
Another option would be for Instrument to create a Map from frame to profile data, so we don't have this extra property when we aren't profiling. That's a larger change, though, that we should do separately.