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`.
(noting that in the middle step, the actual array's contents are still "abcde" even though the count has been truncated to 3.)