[backend] Let HarfBuzz shape the whole string

This prepares for applying ‘ssty’ or ‘dtls’ features in the future. Does
not handle glyph positioning yet, though.
[backend] Use m_ prefix for member variables
[backend] Just pass the FormattingContext at once

Instead of an increasing list of arguments.
[backend] Apply ‘ssty’ feature to script level > 0