Add worker thread pool and limit scope

This will prevent the plugin from spawning dozens of instances of the
Elm compiler at once, and also prevent it from attempting to document
non-Elm files