Major rewrite of TextUtils