Return a repo's colour, as determined by its main language

Introduce a LanguageLibrary class to move responsibility out of the
Language and LanguageDetector classes.