Add tests for yielding versus instance_eval
Add tests for instance variables reachability
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/
Make a fake 'reset_line' method

The fake reset_line now stores 'what' and 'when'.
Stop iterating after 5 times
Wait for thread to exit
Check the cycle intervals

Check to see if intervals is (almost) equal to the given delay.
Interval should be equal of greater than delay (max 150% of given delay).
This is because the delay time when threading is not 100% guaranteed.
Check if it cycled the right chars
Remove old assertions
Add a setup block to prepare for splitting the test
Move code to the setup block
Make delay instance variable
Split in 2 separate tests
Remove broken test
Fix dots test the same way as spinner test
Merge pull request #26 from abinoam/issue25

Fix Issue25
Version bump to 0.2.1
Regenerate gemspec for version 0.2.1
Merge remote-tracking branch 'origin/v1.0.0-dev'