Fixed some autoformatted code, removed unnecessary std::list.clear() in destructors, replace_all_chars is back based on string (based on benchmark from http://stackoverflow.com/a/18892532).
Now it's based on std::string, but with help of boost::local and boost::algorithm - icu was veeery inconveinient and memory consuming. Now memory consuption is ridiculously lower than in basic glib_new branch.
I've also added streams instead of good old printf's, but it's just basic stuff. New thing is also usage of boost library and replacing some glibc functions with it - I have done only small chunk of them. To get rid of glibc completely we would have to move to gtkmm and rewrite looot of code, but I think that it's worth it. Boost will be used in future for i18n.
The whole thing compiles now and at a glance is pretty stable, but it needs deep testing to make shure that everything works as it should without any strange crashes, which I faced while writing.
If anyone has questions about new string handling please cntact with me.