Implementation of the GoF patterns in Ruby. Originally copied from http://code.google.com/p/rubygof/