Band-gap tuning of carbazole-containing donor–acceptor type conjugated polymers by acceptor moieties and π-spacer groups