Text this: A Unifying Framework for Tractable Constraints