pidgin/pidgin

Greatly simplify the nick color generation and properly detect dark themes.

Instead of randomly adjusting colors based on some seed colors we now hash a user's name and use the first 2 bytes of the digest to determine the hue to color their nick. We then adjust it according to the background color.

This isn't perfect as you can see in the screen shot, but there are some tweaks we can do later to account for that. I skipped them for now as this gets us 90% of the way there with like 50% of the work.

Testing Done:
Compiled and ran locally with Adwaita, Adwaita-Dark, and Arc-Dark themes.

Bugs closed: PIDGIN-17463

Reviewed at https://reviews.imfreedom.org/r/423/
##############################################################################
# General Options
option('doc', type : 'boolean', value : false,
description : 'build documentation with gtk-doc')
option('extraversion', type : 'string',
description : 'extra version number to be displayed in Help->About and --help (for packagers)')
option('introspection', type : 'boolean', value : true,
description : 'build introspection data')
option('nettle', type : 'feature',
description : 'enable Nettle support')
option('nls', type : 'boolean', value : true,
description : 'enable installation of translation files')
option('pixmaps-install', type : 'boolean', value : true,
description : 'enable installation of pixmap files - Pidgin still needs them!')
##############################################################################
# Libpurple Options
option('farstream', type : 'feature',
description : 'compile with farstream support')
option('gstreamer-video', type : 'feature',
description : 'compile with GStreamer 1.0 Video Overlay support')
option('kwallet', type : 'feature',
description : 'enable KWallet support')
option('plugins', type : 'boolean', value : true,
description : 'compile plugins')
option('secret-service', type : 'feature',
description : 'enable Secret Service support')
option('vv', type : 'feature',
description : 'compile with voice and video support')
##############################################################################
# Protocol Plugins
option('avahi', type : 'feature',
description : 'compile with avahi (required for Bonjour support)')
option('cyrus-sasl', type : 'feature',
description : 'enable Cyrus SASL support for XMPP/IRC')
option('dynamic-prpls', type : 'string', value: 'all',
description : 'specify which protocols to build dynamically')
option('krb4', type : 'boolean', value : false,
description : 'compile Zephyr plugin with Kerberos 4 support')
option('libgadu', type : 'feature',
description : 'compile with libgadu (required for GaduGadu support)')
option('meanwhile', type : 'feature',
description : 'compile with meanwhile')
option('silc', type : 'feature',
description : 'compile with SILC plugin')
option('zephyr', type : 'feature',
description : 'compile Zephyr plugin against external libzephyr')
##############################################################################
# Pidgin Options
option('console-logging', type : 'boolean', value : false,
description : 'compile with console logging support')
option('gtkui', type : 'boolean', value : true,
description : 'compile with GTK+ user interface')
option('unity-integration', type : 'feature',
description : 'compile with support for unity integration plugin')
##############################################################################
# Finch Options
option('consoleui', type : 'boolean', value : true,
description : 'compile with console user interface')
option('x', type : 'boolean', value : true)