H-uru/Plasma — pull request #438 by zrax (2014-06-05 02:55:31+00:00)
Title: Switch plFormat's accumulator to a plStringStream for better performance

I did some quick performance testing of plFormat, and discovered that it was unfortunately quite a bit slower than other formatters... So I switched the output mechanism to a plStringStream instead of a list of buffers, and got much better performance (~1.5x-6x improvement, depending on the compiler).

For reference, these are my timings from 100k loops of a simple format test:
```
GCC -O0 GCC -O3 Clang -O0 Clang -O3 VC12 Dbg VC12 Rel

No-op : 1.48 ms 0.13 ms 2.24 ms 0.14 ms 0.98 ms 0.00 ms
static snprintf : 32.69 ms 31.57 ms 52.49 ms 30.65 ms 232.58 ms 120.21 ms
dynamic snprintf : 63.10 ms 61.90 ms 118.53 ms 63.06 ms 497.40 ms 270.67 ms
plString::Format : 47.72 ms 33.45 ms 82.54 ms 34.86 ms 465.15 ms 210.10 ms
plFormat (current) : 225.26 ms 93.05 ms 360.92 ms 91.13 ms 3382.12 ms 1211.74 ms
plFormat (plStringStream) : 86.36 ms 63.41 ms 104.45 ms 65.76 ms 571.67 ms 268.73 ms
```

The changes are non-trivial, so I did perform some basic regression testing, but any additional testing is also welcome.