Magnetic impurities and materials design for semiconductor spintronics