Add CompositeStringSource class (closes #112)