craig schaefer actor one tree hill