The `onlyBridge` modifier uses strings as error messages which are
expensive in gas.
This commit refactors this to use a custom error type instead and also
introduces some basic tests to ensure the errors are emitted properly.
It also adds some sanity tests for minting and burning bridge tokens.