Refactored the gradient SWT implementation a bit

* Less repetition
* some nicer names
* confusing width, height = height, width removed
Further refactoring on gradient

* corrected some names (e.g. pattern_position --> create pattern)
* extracted further methods, that belong together
* opening PR as request for Feedback/Help :-)
Add information about the number of running samples to the rake samples output

* Analog to the non_samples task
* actually did that weeks back when I wrote the blog post but forgot
  to push. oopsie.
Stubbing out flush on the App to neglect redrawing

* remove_callbacks only works if a class has been extended with AfterDo
  which happens on app creation... so if the keypress specs run before all
  other specs this method is unknown.
Reorder arguments to the usual order
Restore old functionality of gradient

* wow there was some real scoping magic going on in the original
  code (adjustments to angle, width, height etc. where then used
  in the called block without being passed in)
argh fixed nil issue that made the tests fail
do not divide zerio by zero
Merge pull request #361 from PragTob/gradient

Gradient Refactoring