Add sugar API to benchmark method

This patch provides a nice way to benchmark parts of worker in an elegant way:

  class MyWorker
    def perform(id)
      benchmark do |bm|
        obj = bm.call(:find_object, id)
        bm.call(:update, obj)
      end
    end

    def find_object(id)
      # ...
    end

    def update(obj)
      # ...
    end
  end