Change a few instances of floorf/fabsf → floor/fabs
Don’t use NS prefix for custom functions
Refactor/simplify command runner
Support initial content when creating temporary files
Use new path::temp API to set initial content
Use std::string for memory management
Implement delegate method for WebView load failures

This can happen if the WebView itself terminates the load, for example if window.close() is called from JavaScript.
Use htmlOutputView.runningCommand instead of command::runner_t

The latter is updated via a dispatch queue and thus might be delayed (to after end of current event loop cycle). This is relevant when WebView itself terminates the URL loading and calls the “WebView should close” delegate method.

Here the HTML output view property has been updated (via the WebView delegate method) but the command runner has not yet executed the completion code (which updates it’s “is running” state).
Set file type to ‘text.hg-commit’ for ‘hg-editor-*.txt’

Since Mercurial is not using a unique “path suffix” we need to handle this via the default properties (instead of in the grammar’s file type extension array).