Improve `toString()` serialization performance

Switch from `array.join()` to standard string concatenation to
dramatically improve performance of serialization.
Only apply Function and RegExps regex if there are values to replace
Merge branch 'string-concat'
Add package.json script for `npm run benchmark`