Better API

Fixes #4

* Replace `#cache_invalidations` with `#run` for greater flexibility
* `#run` returns a `Hash` with `:invalidations` key
* Add `Busted::Profiler` module for various profilers
  * Each profiler adheres to duck type by defining `#run`
  * Add `Default` profiler