Whitespace
If we aren't catching the call in method missing, allow others to.

This solve the following error in sinatra:

sinatra-1.3.3/lib/sinatra/main.rb:11:in `expand_path': can't convert Symbol to String (Symbol#to_str gives Symbol) (TypeError)
  from sinatra-1.3.3/lib/sinatra/main.rb:11:in `block in <class:Application>'
  from (eval):1:in `run?'
  from sinatra-1.3.3/lib/sinatra/main.rb:25:in `block in <module:Sinatra>'
Consistent tabbing & whitespace.
Much simpler and as expressive to use the standard objects rather than define narrow classes, and use a constant for constant data.
Method missing causes infinite recursion on sinatra 1.4.4, so introduce a "word" method to serve.

gems/sinatra-1.4.4/lib/sinatra/base.rb:1760: stack level too deep (SystemStackError)
We have to delete the word from the list when it's used to avoid repeats.

So we have to deep-dup the hash on each request.
Use shuffle instead of sort_by { rand }
Merge pull request #3 from Empact/master

Update for current versions of Sinatra, and simplify implementation by using core objects directly