Externalize the enchant initialization code from BaseBackend

Use dependency injection from Engine instead.