Как сделать так, чтобы иконка была слева от текста?
Я думаю, что вариант с :before к заголовку будет нормальным вариантом. С отдельным дивом я бы не стал делать
див. position:relative в нем текст и картинка. диву padding-left:50px; 
картинке positionLabsolute; top:0; left:0