Do DOMString conversions through {From,To}JSValConvertible

Hat tip to @eddyb and @huonw for most of the clever bits of this PR.