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`.
> Added in the most recent commit; see if that matches what you were thinking.

That looks good, thanks! We'll do a license review at some point to ensure we're attributing code correctly; it's possible that we'll change the way we attribute this code (and other code) at that time; but this works great for now.