def register(extention, handler = nil, &block)
         handler ||= block
         raise 'Handler or block required.' unless handler
         @render_library[extention.to_s] = handler
         handler
      end
def register(extention, handler = nil, &block)
         handler ||= block
         raise 'Handler or block required.' unless handler
         @render_library[extention.to_s] = handler
         handler
      end
Registers a rendering extention.

 Slim, Markdown, ERB and SASS are registered by default.

 extention:: a Symbol or String representing the extention of the file to be rendered. i.e. 'slim', 'md', 'erb', etc'
 handler :: a Proc or other object that answers to call(filename, context, &block) and returnes the rendered string.
            The block accepted by the handler is for chaining rendered actions (allowing for `yield` within templates)
            and the context is the object within which the rendering should be performed (if `binding` handling is
            supported by the engine). `filename` might not point to an existing or valid file.

 If a block is passed to the `register_hook` method with no handler defined, it will act as the handler.