Reimplement java.lang.String with JS Strings.

Sweet, I've been wanting something like this for awhile. We should do it for natives, too (in another changeset).