Port StringBuffer to JS.

Would close #346.

- Moves `String.intern` to `string.js`.
- Implements all methods of `StringBuffer`, using the properties `buf` and `count` for manipulation.
- Test coverage in `StringBufferTest.java`.
The `index < 0` check is redundant, true. The `index >= this.count` check isn't, though -- `delete`'s behavior when passed an index beyond the end of the array is to truncate to `end`; `deleteCharAt` is specced to throw an exception.