Changing prana.type() and prana.extension() interfaces, so they now accept type name and settings and extension name, prototype and settings as arguments respectively. This is for better developer experience, since now we don't need to pass instance of Prana.Type and Prana.Extension classes to these methods, and also to allow items returned by hooks to be pre-processed before being added to the object container. Changing the type or extension controller (that defaults to Prana.Type and Prana.Extension) is still possible by setting the settings.controller setting to the constructor of your controllers.