* gui_window can have a background color now (-> uses/sets the fbo clear color); -> this needs to be accessible/usable by all objects:
   * added gui_object::get_parent_window() function (always! returns a valid gui_window)
   * added gui_object::is_window() function
   * the gui class creates a "main window" gui_window object now (this way, all gui objects will have parent window); note that this doesn't create an fbo
   * gui_theme::draw now takes a mandatory background_color parameter (also made "clear" and "scissor" parameters mandatory)
 * added image support for all gui objects:
   * gui_theme::draw takes a mandatory image_lookup parameter now ("identifier -> image" map), this is a var in the gui_object class
   * identifier "#" is used as the default identifier; note that the identifier directly matches the one specified in the object layout
   * only added a "image/texture rectangle" to the gui_button layout for now
   * modernized the image class (also renamed to a2e_image to avoid name clashes) as this class is used for all gui object images
 * added fixed size ratio support for gui objects:
   * the gui object size can be set to a fixed width/height ratio, which will then scale the object either on the x or y axis to meet this ratio
   * note that this must be enabled/disabled via use_fixed_size_ratio(...) (disabled by default)
 * added gui object attachment/link support:
   * a gui object can be attached to another object (at the top/right/bottom/left, at a given relative or absolute margin)
   * this link is unidirectional (the attached-to object doesn't know which objects are attached to it) -> ring dependencies are not harmful, but won't work either
   * note that this functionality is dependent on the order in which objects are added to their parent (the attached-to object must be added first for this to function correctly)
 * the gui_object children container is now a vector instead of a set (this is necessary due to order requirements)
 * the gui_window constructor now also takes an optional gui_surface::SURFACE_FLAGS enum (defaults to NONE)
 * added gui_surface::SURFACE_FLAGS::NO_BUFFER enum (doesn't create an fbo/surface buffer (obviously limited purpose -> used for the gui main window))
 * added "center" and "center_round" gradient style support to gui_theme
 * use inheriting constructors and defaulted virtual destructors for gui classes wherever possible
 * set task names of all tasks now that this is possible
 * gui_file_dialog has a black background color now
 * added .gitignore file (not sure why I didn't add this before)
 * version bump to v0.3.1-d2