I was reading about the ICU BiDi implementation and the way they do things is that there's global text direction flag that can be overridden. There are Unicode BiDi characters to mark the text direction, but I guess tags like <dir=RTL> would work better with TMP.
Anyway, I think a global flag for a project is important, since then you'd have to only add tags to LTR text parts instead of everything, if a project is mostly using RTL. It should then be easy for me to add custom code to change the alignment too.