halign adjust with immutability of style objects in mind

Fixes problems mentioned here: https://github.com/mapnik/mapnik/pull/2426#issuecomment-58771864

text_line is starting to get big - can you see any ways to reduce the number of member variables to keep this class easy to understand?