rework debugging/tracing features

Tracing system calls stopped working after Sheller was introduced, because tracing system() is not the same as tracing Kernel.system().

(I broke it after merging the Sheller and I never noticed).

Now, when e.g. guard-rspec runs a command, it's visible in debug mode.
Also, any class/module method can be traced, e.g.
```ruby
trace(Guard,:setup) { |options| Guard::UI.warn "setup(#{options.inspect})" }
```