XRegExp was chosen to abstract from the underlying platform, and for its extensions that have proven to be commonly sought. Maintainability: seems fine, with a healthy community supporting it on github (230 forks, atow, and 2424 stars).
I've decided it would be a good idea to record why I made certain choices in the architecture of this project, even just for my own sake. Certain ideas I kept revisiting, and wondering why I made them. Wonder no more, sir!