Creates a copy of this curve, stored in a minimal buffered curve object. Buffered curves are used to cache the positions and attributes of a curve's keys. After creation, a buffered curve can be applied to any curve to set it to its saved state. Each curve must implement its own buffered curve which inherits IBufferedCurve and implements the DrawCurve method in order for it to be drawn on screen. Optionally implemented