Revert "+ std::unordered_map to store properties"

This reverts commit d909c6deded74fd7c427f7848f061be03601519b.
refactor shaping strategies

* move text_line into seprate .hpp/.cpp
* move shaping implementations into individual struct to allow potential dynamic switching
  between implementations
* ```typedef harfbuzz_shaper shaper_type``` in layout.hpp