lazy load self classes

Doc: http://ruby-doc.org/core-1.9.3/Module.html#method-i-autoload