backend: remove unordered map from backend interface
backend: generate all registered backends
cpp: create a skeleton of a formatter registrar

- add interface for class formatters
- add registrar error