default to hb shaper
update unifont font
remove old unifont
c++11

* avoid over-using shared_ptr
* use range based for loops for better readability