Allow extensions to be added via Hull.extension

This change allows you to add custom extensions to Hull by using Hull.extension(). It works similarly to Hull.component().