tests: Monkey patch the environment

We don't want to connect tot he actual bus to run our unit tests.

This allows us to completely instrument our engine class and test
its behaviour.
tests: Start testing the Cangjie engine

This tests for some of the expecte behaviours of the Cangjie engine,
based on automated user input.
Import the bundled pycanberra relatively

This helps running unit tests against the local dev tree
rather than the installed version.
tests: Run against the development tree

This will help catching regressions earlier.
tests: Rename the test file

For now, I'll write a test file per engine, we'll see later on if
another grouping makes more sense.
tests: Prefix the test-specific attributes in our monkey-patched classes

They now all start with "_mock_", for example:
    MockEngine._mock_auxiliary_text

This should help make sure we don't create conflicts with the actual
attributes of the objects we are monkey-patching.
tests: Introduce MockCanberra

This will be useful to test that we are "emitting sounds" on certain
conditions.
tests: Add a bunch of unit tests for Cangjie