Extract AppListConfig creation into separate class

Move app list config creation from AppListConfig::instance to a
newly introduced class AppListConfigProvider.
Having a dedicated "factory" class for AppListConfig instances is
cleaner than creating new configs off of a global AppListConfig
instance.

In addition to CreateAppListConfigForAppListWidget (which was moved from
AppListConfig::instance), adds getter for app list configs per
AppListConfigType, which will be used in a later cl to provide apps grid
configuration to app list model (needed to generate folder image for app
list config type).

Adds some test for AppListConfigs, and fixes the app list item title
margins and fonts.

BUG=998207,996808

Change-Id: Id6c395d1087cbc17982ce7a9e263e1dbbdc7752d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1783518
Commit-Queue: Toni Baržić <[email protected]>
Reviewed-by: Xiyuan Xia <[email protected]>
Reviewed-by: Alex Newcomer <[email protected]>
Cr-Commit-Position: refs/heads/master@{#693421}
7 files changed