Color modification based on contrast

The ColorUtility now takes into account the contrast between the user
and the surrounding area when computing an average color for a user,
brightening the color as is necessary. Functional decomposition still
required.