Use Autotools build system

This replaces the plain Makefile that was being used. Checks are made
for a minimum gtkmm version and C++11 support now.

Some additional runtime checks are needed to find the data directory
when the executable is either installed or running from the build
directory. This is done in utils.cpp's get_data_dir() and isn't a
perfect solution, but works okay for developing without having to
install to test changes.
Add UI loading error handling, minor cleanup

If load_ui() fails, output an error message and exit. Load the UI files
before the CSS so they throw an exception first, because Gtk::Builder's
error messages include the filename and Gtk::CssProvider's don't (kinda
silly).

Also do a minor code cleanup.