Refactor TranslateManager::Observer to not assume that TranslateManager is a singleton

The TranslateManager::Observer list was global and owned by TranslateManager.

It has been split in two: 
- the language detection events are no longer handled by TranslateManager ; 
the single observer for this (TranslateInternalsHandler) now directly observes the notifications 
- the translate error events are still managed by TranslateManager but use 
a global observer list (which is now actually a callback list) and are no longer handled by the TranslateManager singleton instance.

BUG=332736

Review URL: https://codereview.chromium.org/166403003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251688 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251688