Fix #80: Add Geoclue2 location provider

This simply runs a GLib main loop when the location is requested
and tries to get the location from GeoClue2. We need to run a
main loop since the location is not immediately available, instead
it becomes available through a signal.
contrib: Update RPM spec to use GeoClue2
Merge branch 'geoclue2-provider'

Add GeoClue2 location provider
Fix #95: Add AppData file for package managers
appdata: Add screenshot
Merge pull request #145 from jonls/appdata-xml

Fix #95: Add AppData file for package managers
colorramp: Add float-typed colorramp_fill() equivalent
Add Quartz (OSX) gamma adjustment method
Add CoreLocation (OSX) location provider

Similarly to the Geoclue provider, the CoreLocation provider only
requests the location on startup.