Improve the way that exception classes are organised in the codebase: 1. Low-level Engine API exceptions should all derive from an abstract base class `engine_exception` or similar. 2. High-level exceptions should all derive from an abstract base class `djinterop::exception` or similar. 3. Exceptions should be defined in the header containing declarations that might throw them, not in `exceptions.hpp`. 4. Exceptions referencing numeric ids should have that parameter removed, with issue #93 in mind.
Improve the way that exception classes are organised in the codebase:
engine_exceptionor similar.djinterop::exceptionor similar.exceptions.hpp.