Reworked inheritance in templates. template.constructor became template.create

Template items come in two flavors:
- to be used by designers
- to be reused by template developers

The reusable items are now 'template.creators'. Each creator
is:

function Creator( options ) {
	this.options = optiosn;
}
Creator.create = function(options) {
	return new Creator(options)
}

Creator objects are intended to be created with create method.