Changed `Backend` from an `enum` to a class with a mechanism to register more backends (#4659)
Changed `Backend` from an `enum` to a class with a mechanism to register more backends (#4659)

gijsleussink/ceylon,gijsleussink/ceylon,gijsleussink/ceylon,gijsleussink/ceylon,gijsleussink/ceylon