More oo-like implementation, single toggle-command, better cursor-placement

Hi Hiroki,

after I couldn't really figure out, how the cursor is placed in your implementation, I started to refactor your code into more manageable junks, methods and even classes.

At the end I had a RubyBlockConverter that:
* could toggle blocks between curly and do-end
* replaced as little of the document as possible, to prevent cursor form moving
* should be better readable (and hopefully more understandable) to new contributors

I'm not sure, that all the features of the current implementation still work, since I was not able to implement automatic tests with the given ruby examples. How do you test your plugins?

Best regards,
Torsten