FLOE-116: Transcripts Panel

Large scale refactoring to separate out the reusable pieces from the captions panel. Used this to implement the Transcripts Panel.