Add required textDirection to TextOptions.
Define BoxOptions and TextOptions for formatting. Differentiating the two record types reflects the fact that the root inline box cannot be styled but its text contents can.