Allow for_each to accept lambda for iterator
Base.render accepts fragment name
Refactor Components::Base to seperate class and instance methods
 - Created Macro module for macro_name methods
 - However Tag could not use this due to the dramatic performance hit
Removed unused alias, changed .has_markup to be an alias
Remove unused method
Refactor Components::Base to use Capabilities