diagnostics: Move core dependency checks to pootle_app.__dependencies__

This allows a more decentralized approach to dependency checking where each
module is responsible for its dependency checks.
The non-core dependencies still need to be ported in a later commit.

Note that this has a mild performance impact and this logic should only run
once per instance startup.
diagnostics: Check for chardet dependency

Fixes #1719