Replace the escapeHTML() by a more efficient one

The `escapeHTML()` function in [editor.js](https://github.com/rust-lang/rust-by-example/blob/master/node_modules/gitbook-plugin-rust-playpen/book/editor.js#L134) is a little too optimistic about JavaScript laziness. Chaining `String.replace()` like this...

```JavaScript
function escapeHTML(unsafe) {
  return unsafe
    .replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#039;")
    .replace(newLineRegex, '<br />');
}
```

…sadly results in `unsafe` being parsed *six* time, and crash Firefox when a playpen response is too large. Other browsers may optimize this as I haven't seen Safari or Chrome crash.

It can be tried on the [Loop page](http://rustbyexample.com/loop.html) by commenting out the `break` to create an infinite loop, and wait for the playpen timeout.