colorswatch: Simplify drawing code

This adds a CSS box (complete with padding and border) for the icon. The
box is even drawn when no icon is present. Use the ".image" as the style
class here instead of -active-color-badge.

Use this box to draw the circle around the selection icon in Adwaita.
colorswatch: Render focus with gtk_render_focus()
colorswatch: Remove an unused variable
colorswatch: Render background properly

We want to render a background *and* the current color (if there is
one).

This also adds a custom function gtk_render_add_content_path() which
adds the path of the current content area to a cairo_t.
render: Overhaul gtk_render_handle()

The code did weird things with drawing backgrounds sometimes but not
really. Now it does this:

(1) render a background
(2) render a frame
(3) render an icon
    - if no icon exists, draw the generic handle icon
render: Make rendering the background a single function
themingbackground: Use an array instead of 3 separate members

Simplifies code
themingbackground: Don't store bg_color in struct

Instead, keep it as a separate variable.
themingbackground: Don't store (almost) unused variables

Instead, parse them directly to the one function that uses them.
themingbackground: Call shadow function directly

... instead of having a custom function for it.
themingbackground: Add a quick exit for default case

In the case where the background is completely transparent, exit the
rendering functions before doing any expensive calculations.
themingbackground: Use fill() instead of clip() + paint()

It's simpler code and I believe it's faster, too.