* Renamed Composition to TapeComposition

Composition was used purely for the Tape concept, and doesn't support
silence or arbitrary start positions of elements. Therefore, I'm
renaming it and derived classes.
* Renamed classes deriving from TapeComposition

Renamed AudioComposition to AudioTapeComposition and VideoComposition to
VideoTapeComposition
* Renamed the TapeComposition files

Renamed the files to match the new class names
* Refactored the PreviewUser class

Created PreviewTapes class instead, which should be a lot less sloppy.
Also, added a base class PipelineContent to make room for other types of
nonlinear editing in the future
* Began assigning a Tape to SampleComponent
+ Tapes hold a proper list of samples
* Fixed timeline not updating instantly
* Fixed sample limits not being updated
* Fixed the Timeline not deleting components
* Moved SampleInstance to be a standalone class
* Renamed SampleComponent to SampleWindow