While rendering components, store the components and their options, scoped to a controller and action,
allowing the controller to use that data later to initialize components before the renderer has hit that block.
If a component has been initialized in the components array, use that when rendering a component
rather than initializing a new component.
Add specs for re-using previously initialized components.
Remove some un-needed parentheses.
Context#initialized_components should be a hash, not an array.
Use controller_name and action_name over params[:controller] and params[:action].
Remove Component#== since it isn't used anymore, and add Context#related_components back in.
Do not use Component#options when storing the components for an action, since that can lead to inconsistent results based on params.
Remove the Context#components_for_action= method, since it isn't used anywhere.
Change Context#components_for_action into a hash to match Context#initialized_components.
Merge pull request #1 from ahlatimer/master

Store the components rendered for a particular controller and action, and use any components already initialized over initialize them whenever a render_component declaration is hit.