Fast fix for #19 - yielding or instance_evaluating

Now if SpinningCursor#start is invoked without any params it will be instance_evaluated.
If it's invoked with 1 param it will be yielded (with 'self' as param), so that
instance variables from the main context will be available inside #start.

Below it is a perfectly working code.

@my_inst = "My Banner"
SpinningCursor.start do |sc|
  sc.banner @my_inst
  sc.action { sleep 2 }
end

The 'old' way is preserved.
But, as before, instance variables are not available.

@my_inst = "My Banner"
SpinningCursor.start do
  banner @my_inst     # Here @my_inst is from Parser and it's nil
  action { sleep 2 }
end

This simple and clever trick references:
* http://rubylearning.com/blog/2010/11/30/how-do-i-build-dsls-with-yield-and-instance_eval/
* http://erniemiller.org/2012/06/07/accessing-instance-variables-in-squeel-or-fun-with-bindings-and-instance_eval/