util (crossplatform): added subprocess and os files

main methods are:

subprocess::call       (can redirect output and behave in a blocking/non-blocking way)
subprocess::which      (searches for a binary in PATH)
os::execute_file       (calls xdg-open on file)
os::self_exec_filename (readlink /proc/self/exe)
buildsystem: added options system, gperftools

options system:

./configure (usage with --with and --without)
./CMakeLists.txt (specification)
buildsystem/version.cmake (bookkeeping; see 'log_config_option')

the list of enabled options is available in config_option_string in config.h

gperftools:

first option that's using the new system;

gperftools-profiler is automatically linked in if it exists (disable with --without)
gperftools-tcmalloc must be manually enabled (with --with)
buildsystem: fixed verbosity issue with Makefile
added config options to version display

made engine fonts unique_ptrs
buildsystem: made inotify optionally toggleable

use ./configure --without inotify
util: integrated profiler into game_main

press F12 to start/stop profiling