Playground debounce

Restores the per-keystroke delay, as discussed in #344, but only after a failure, to maintain responsiveness under normal conditions.

Includes the content of [es6-promise-debounce](https://github.com/bollwyvl/es6-promise-debounce), and should eventually use this (or whatever it ends being called) from CDN, pending release.

Thanks to @dlongley.