Greatly improve perf of `format()`

This greatly improves the perf of calling `format()` on an IntlMessageFormat instance by not using function `bind()`. Performance increases are ~50% for complex messages, and ~10x for simple messages!

**Before:**

```
Running "benchmark:format" (benchmark) task

Running benchmark format_cached_complex_msg [tests/benchmark/format_cached_complex_msg.js]...
>> format_cached_complex_msg x 30,594 ops/sec ±10.22% (66 runs sampled)

Running benchmark format_cached_string_msg [tests/benchmark/format_cached_string_msg.js]...
>> format_cached_string_msg x 3,199,929 ops/sec ±8.50% (59 runs sampled)
```

**After:**

```
Running "benchmark:format" (benchmark) task

Running benchmark format_cached_complex_msg [tests/benchmark/format_cached_complex_msg.js]...
>> format_cached_complex_msg x 48,246 ops/sec ±0.23% (94 runs sampled)

Running benchmark format_cached_string_msg [tests/benchmark/format_cached_string_msg.js]...
>> format_cached_string_msg x 28,247,906 ops/sec ±0.76% (100 runs sampled)
```

----

**A new build should be committed after this is merged.**