Fix all tests

- Use an anonymous test sinatra class in the test to avoid any possible
  name clash
- The original impl doesn't play nicely with Rubinius, super call seems
  to get into an infinite loop. I am sure this is probably a bug of
Rubinious, in the meantime using delegate pattern (always favor
composing over inheritance) seems to work