engine: Rework the optionality of pycanberra

The way we were doing things was a bit cumbersome, and exposed too much
of the pycanberra situation in the main engine code.

With this commit, we export the concerns over pycanberra to a new file,
allowing the engine to always assume that something called "Canberra"
is always available.
tests: Assume pycanberra is always there

Thanks to the previous commit, we can now assume that pycanberra is
always available for the unit tests.

That makes it much easier to mock the pycanberra stuff, and it removes
the need to fiddle with an environment variable to let the tests know
whether pycanberra is here or not.
i18n: Adapt the translation files

The previous change modified the line on which a translation appears.
Merge pull request #36 from Cangjians/pycanberra

Rework the way we make pycanberra optional