[WIP] Use actor based parallelization

* Fixes longstanding issues with nested `parrallel` execution. (good thing)
* More responsive UI as progress reports happen in main thread with time shedule and not per mutation state event callback. (good thing)
* Allows worker self registration (groundwork for distributed killing)
* Performance is on-par with `parallel`. (good thing)
* Removes frame throttle logic from reporters (good thing).
* No need to make `Mutant::Mutation` instances serializable, reduces building partial result objects to make them transmittable over `parallel`'s interfaces. (good thing)
* More code. (bad thing)
@dkubb The problem is that the interpretation of `test_results` is different for each mutation class. On `Mutation::Evil` classes they can short circuit, on `Mutation::Neutral` not. I wanted to avoid to create mutation type specific result classes so I needed to push the `continue?` and `success?` implementation down. I think it might be possible to lift these into the singleton of each mutation types class.